Квантованная модель после обучения получает ошибку «Копирование из квантованного тензора в неквантованный тензор не разрPython

Программы на Python
Ответить
Anonymous
 Квантованная модель после обучения получает ошибку «Копирование из квантованного тензора в неквантованный тензор не разр

Сообщение Anonymous »

Я получил предварительно обученную модель resnet 18 из этого репозитория обнаружения полосы движения, чтобы использовать ее в качестве функции ADAS (расширенные системы помощи водителю) для соревнований по производству электромобилей. Моя текущая цель — квантовать этот pth-файл модели, чтобы сделать его меньше и, возможно, быстрее для работы на rpi 5. Я пытался следовать нескольким различным руководствам по квантованию (например, этому) и реализовать его на своей модели. однако при этом выдает кучу ошибок, и я не понимаю, почему я их получаю? какая строка вызывает указанную ошибку, не указано.
вот мой код:

Код: Выделить всё

import torch, os, cv2
from model.model import parsingNet #basically the neural network that we apply weights to
from utils.common import merge_config
import torch
import scipy.special
import tqdm #provides progress bars
import numpy as np
import torchvision.transforms as transforms
from data.dataset import LaneTestDataset
from data.constant import culane_row_anchor
import tkinter as tk
import numpy as np
from PIL import Image, ImageTk
import time

if __name__ == "__main__":
import logging
logger = logging.getLogger(__name__)
if os.path.isfile("debugging.log"):
os.remove("debugging.log")
logging.basicConfig(filename='debugging.log', encoding='utf-8', level=logging.DEBUG)

def quantize_existing_model(model, saveto = "quantized.p"):
model.eval()

# modules_to_fuse = [['model.conv1', 'model.bn1', 'model.relu']] #code doesn't work even when this is disabled
# model = torch.quantization.fuse_modules(model, modules_to_fuse, inplace=True)
model.qconfig = torch.quantization.default_qconfig
torch.quantization.prepare(model, inplace=True)
model.eval()
print("calibrating model for quantization")
with torch.no_grad():
dataCalibrationLength = 10
for i, data in enumerate(tqdm.tqdm(loader)):
img, names = data
#img = img.cuda() #disabled because I don't have gpu
out = net(img) #feeding data into neural network
if(dataCalibrationLength 

Подробнее здесь: [url]https://stackoverflow.com/questions/79884369/post-training-quantized-model-gets-the-error-copying-from-quantized-tensor-to-n[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»