Что касается арки BERT во время развертывания модели

Я новичок в NLP Transformers. Я столкнулся с этой проблемой при развертывании модели с помощью фреймворка Django. Локально модель работает нормально, но не при развертывании. Здесь я импортирую модель BERT, которая была обучена и сохранена с помощью pytorch. Я следую той же процедуре для загрузки модели, но перед этим я определяю архитектуру, которая была определена во время обучения модели.

Но столкнулся с проблемой после развертывания модели.

AttributeError: Can't get attribute 'BERT_Arch' on <module 'main' from '/home/ubuntu/kc_env/bin/gunicorn'>

Я попробовал несколько вещей: Например, определить архитектуру BERT до загрузки модели:

####Utils.py

from django.apps import AppConfig
# import torch
import torch.nn as nn



class BERT_Arch(nn.Module):
    def __init__(self):
        super(BERT_Arch, self).__init__()
    
        # dropout layer
        self.dropout = nn.Dropout(0.2)
        
        # relu activation function
        self.relu =  nn.ReLU()
        # dense layer
        self.fc1 = nn.Linear(768,512)
        self.fc2 = nn.Linear(512,256)
        self.fc3 = nn.Linear(256,3)
        #softmax activation function
        self.softmax = nn.LogSoftmax(dim=1)
    #define the forward pass
    def forward(self, sent_id, mask):
        cls_hs = self.bert(sent_id, attention_mask=mask)[0][:,0]
    
        x = self.fc1(cls_hs)
        x = self.relu(x)
        x = self.dropout(x)
        
        x = self.fc2(x)
        x = self.relu(x)
        x = self.dropout(x)
        # output layer
        x = self.fc3(x)

        # apply softmax activation
        x = self.softmax(x)
        return x
    

###main.py

from .utils import BERT_Arch

модель=BERT_Arch()

def func(): model=torch.load('Путь для загрузки model.pt')

Вернуться на верх