Что касается арки 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')