Я пытаюсь запустить следующий код, который, по сообщениям, работает хорошо с другими пользователями, но обнаружил эту ошибку.
-- coding: utf-8 - -
Импортировать содержимое
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils import data
from torch.utils.data import DataLoader
import torchvision.transforms as transforms
import cv2
import numpy as np
import csv
"D:\VICO\Back up\venv\Scripts\python.exe" "D:/VICO/Back up/venv/Scripts/self_driving_car.py"
device is: cpu
Traceback (most recent call last):
File "D:/VICO/Back up/venv/Scripts/self_driving_car.py", line 163, in
for local_batch, (centers, lefts, rights) in enumerate(training_generator):
File "D:\VICO\Back up\venv\lib\site-packages\torch\utils\data\dataloader.py", line 291, in __iter__
return _MultiProcessingDataLoaderIter(self)
File "D:\VICO\Back up\venv\lib\site-packages\torch\utils\data\dataloader.py", line 737, in __init__
w.start()
File "C:\Users\isonata\AppData\Local\Programs\Python\Python37\lib\multiprocessing\process.py", line 112, in start
self._popen = self._Popen(self)
File "C:\Users\isonata\AppData\Local\Programs\Python\Python37\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Users\isonata\AppData\Local\Programs\Python\Python37\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\Users\isonata\AppData\Local\Programs\Python\Python37\lib\multiprocessing\popen_spawn_win32.py", line 89, in __init__
reduction.dump(process_obj, to_child)
File "C:\Users\isonata\AppData\Local\Programs\Python\Python37\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
_pickle.PicklingError: Can't pickle : attribute lookup on __main__ failed
Process finished with exit code 1
Я не уверен, что будет следующим шагом для решения проблемы.
Я пытаюсь запустить следующий код, который, по сообщениям, работает хорошо с другими пользователями, но обнаружил эту ошибку. -- coding: utf-8 - - Импортировать содержимое [code]import torch import torch.nn as nn import torch.optim as optim from torch.utils import data from torch.utils.data import DataLoader import torchvision.transforms as transforms
import cv2
import numpy as np
import csv [/code] Шаг 1. Прочтите файл журнала [code]samples = [] with open('data/driving_log.csv') as csvfile: reader = csv.reader(csvfile) next(reader, None) for line in reader: samples.append(line)
[/code] Шаг 2. Разделите данные на обучающий набор и набор проверки [code]train_len = int(0.8*len(samples)) valid_len = len(samples) - train_len train_samples, validation_samples = data.random_split(samples, lengths=[train_len, valid_len]) [/code] Шаг 3a: Определите процессы расширения, преобразования, параметры и набор данных для загрузчика данных [code]def augment(imgName, angle): name = 'data/IMG/' + imgName.split('/')[-1] current_image = cv2.imread(name) current_image = current_image[65:-25, :, :] if np.random.rand() < 0.5: current_image = cv2.flip(current_image, 1) angle = angle * -1.0 return current_image, angle
def __len__(self): return len(self.samples) [/code] Шаг 3b: Создание генератора с использованием загрузчика данных для распараллеливания процесса [code]transformations = transforms.Compose([transforms.Lambda(lambda x: (x / 255.0) - 0.5)])
criterion = nn.MSELoss() [/code] Шаг 6. Проверьте устройство и определите функцию для перемещения тензоров на это устройство [code]device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') print('device is: ', device)
def toDevice(datas, device):
imgs, angles = datas return imgs.float().to(device), angles.float().to(device) [/code] Шаг 7. Обучение и проверка сети на основе заданного максимального количества эпох [code]max_epochs = 22
for epoch in range(max_epochs):
model.to(device)
# Training train_loss = 0 model.train() for local_batch, (centers, lefts, rights) in enumerate(training_generator): # Transfer to GPU centers, lefts, rights = toDevice(centers, device), toDevice(lefts, device), toDevice(rights, device)
# Model computations optimizer.zero_grad() datas = [centers, lefts, rights] for data in datas: imgs, angles = data # print("training image: ", imgs.shape) outputs = model(imgs) loss = criterion(outputs, angles.unsqueeze(1)) loss.backward() optimizer.step()
# Validation model.eval() valid_loss = 0 with torch.set_grad_enabled(False): for local_batch, (centers, lefts, rights) in enumerate(validation_generator): # Transfer to GPU centers, lefts, rights = toDevice(centers, device), toDevice(lefts, device), toDevice(rights, device)
# Model computations optimizer.zero_grad() datas = [centers, lefts, rights] for data in datas: imgs, angles = data # print("Validation image: ", imgs.shape) outputs = model(imgs) loss = criterion(outputs, angles.unsqueeze(1))
valid_loss += loss.data[0].item()
if local_batch % 100 == 0: print('Valid Loss: %.3f ' % (valid_loss/(local_batch+1))) [/code] Шаг 8. Определите состояние и сохраните модель относительно этого состояния [code]state = { 'model': model.module if device == 'cuda' else model, }
torch.save(state, 'model.h5') [/code] это сообщение об ошибке: [code]"D:\VICO\Back up\venv\Scripts\python.exe" "D:/VICO/Back up/venv/Scripts/self_driving_car.py" device is: cpu Traceback (most recent call last): File "D:/VICO/Back up/venv/Scripts/self_driving_car.py", line 163, in for local_batch, (centers, lefts, rights) in enumerate(training_generator): File "D:\VICO\Back up\venv\lib\site-packages\torch\utils\data\dataloader.py", line 291, in __iter__ return _MultiProcessingDataLoaderIter(self) File "D:\VICO\Back up\venv\lib\site-packages\torch\utils\data\dataloader.py", line 737, in __init__ w.start() File "C:\Users\isonata\AppData\Local\Programs\Python\Python37\lib\multiprocessing\process.py", line 112, in start self._popen = self._Popen(self) File "C:\Users\isonata\AppData\Local\Programs\Python\Python37\lib\multiprocessing\context.py", line 223, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "C:\Users\isonata\AppData\Local\Programs\Python\Python37\lib\multiprocessing\context.py", line 322, in _Popen return Popen(process_obj) File "C:\Users\isonata\AppData\Local\Programs\Python\Python37\lib\multiprocessing\popen_spawn_win32.py", line 89, in __init__ reduction.dump(process_obj, to_child) File "C:\Users\isonata\AppData\Local\Programs\Python\Python37\lib\multiprocessing\reduction.py", line 60, in dump ForkingPickler(file, protocol).dump(obj) _pickle.PicklingError: Can't pickle : attribute lookup on __main__ failed
Process finished with exit code 1 [/code] Я не уверен, что будет следующим шагом для решения проблемы.
Я пытаюсь распараллелить задачу поиска путей с минимальной стоимостью через растровую поверхность стоимости, но все время сталкиваюсь с той же ошибкой PicklingError: Не удалось выбрать задачу для отправки ее работникам.
Это пример кода того, что...
Я инициировал Pyspark в CMD и выполнил ниже, чтобы обострить мои навыки.
C:\Users\Administrator>SUCCESS: The process with PID 5328 (child process of PID 4476) has been terminated.
SUCCESS: The process with PID 4476 (child process of PID 1092) has...
Я инициировал Pyspark в CMD и выполнил ниже, чтобы обострить мои навыки.
C:\Users\Administrator>SUCCESS: The process with PID 5328 (child process of PID 4476) has been terminated.
SUCCESS: The process with PID 4476 (child process of PID 1092) has...
Я посещаю курсы по искусственному интеллекту и его приложениям, наш профессор дал нам программу на Python, чтобы запустить ее на компьютере с помощью pytorch. У меня есть графический процессор, поэтому у меня возникли проблемы с его запуском на моем...
Я посещаю курсы по искусственному интеллекту и его приложениям, наш профессор дал нам программу на Python, чтобы запустить ее на компьютере с помощью pytorch. У меня есть графический процессор, поэтому у меня возникли проблемы с его запуском на моем...