Ожидаемый размер первых двух измерений тензора партии2: [10, 2], но получено: [1, 2]Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Ожидаемый размер первых двух измерений тензора партии2: [10, 2], но получено: [1, 2]

Сообщение Гость »


Я довольно долго боролся с некоторыми базовыми процедурами установки платформы Python torchquantum. Я пытаюсь запустить файл Colab: https://colab.research.google.com/githu ... tion.ipynb в репозитории github: https:/ /github.com/mit-han-lab/torchquantum/tree/main/examples/quanvolution .Я попробовал запустить все ячейки, но не получилось. Затем я установил весь пакет с помощью команды: pip install torchquantum по ссылке: https://pypi.org/project/torchquantum/ на ноутбук после создания новой среды conda. Когда я запускаю ячейку ниже:

accu_list1 = [] список_потерь1 = [] accu_list2 = [] список_потерь2 = [] def train(поток данных, модель, устройство, оптимизатор): дляfeed_dict в потоке данных['train']: входы =feed_dict['изображение'].to(устройство) цели =feed_dict['цифра'].to(устройство) выходы = модель (входы) потеря = F.nll_loss(выходы, цели) оптимизатор.zero_grad() потеря.назад() оптимизатор.шаг() print(f"loss: {loss.item()}", end='\r') def valid_test(поток данных, разделение, модель, устройство, qiskit=False): целевой_все = [] вывод_все = [] с torch.no_grad(): дляfeed_dict в потоке данных[split]: входы =feed_dict['изображение'].to(устройство) цели =feed_dict['цифра'].to(устройство) выходные данные = модель (входные данные, use_qiskit = qiskit) target_all.append(цели) output_all.append(выходы) target_all = torch.cat(target_all, dim=0) output_all = torch.cat(output_all, dim=0) _, индексы = output_all.topk(1, dim=1) маски = index.eq(target_all.view(-1, 1).expand_as(indices)) размер = target_all.shape[0] исправляет = маски.сумма().элемент() точность = корректировка/размер потеря = F.nll_loss(output_all, target_all).item() print(f"{split} установите точность: {accuracy}") print(f"{split} set loss: {loss}") точность возврата, потеря для эпохи в диапазоне (1, n_epochs + 1): # тренироваться print(f"Эпоха {эпоха}:") поезд (поток данных, модель, устройство, оптимизатор) print(optimizer.param_groups[0]['lr']) # действительный accu, loss = valid_test(поток данных, 'тест', модель, устройство,) accu_list1.append(аккум) loss_list1.append(потеря) планировщик.шаг() Я получаю следующую ошибку:

Эпоха 1: -------------------------------------------------- ------------------------- RuntimeError Traceback (самый последний вызов — последний) [c:\Users\m992c693\Documents\VS_Code_Workspace\torch_quantum_examples\quanvolution\quanvolution.ipynb](file:///C:/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb) Ячейка 7, строка 4 [46](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=45) для эпохи в диапазоне (1, n_epochs + 1): [47](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=46) # train [48](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=47) print(f"Epoch {epoch}: ") ---> [49](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=48) train(поток данных, модель , устройство, оптимизатор) [50](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=49) print(optimizer.param_groups[0][ 'лр']) [52](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=51) # valid [c:\Users\m992c693\Documents\VS_Code_Workspace\torch_quantum_examples\quanvolution\quanvolution.ipynb](file:///C:/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb) Ячейка 7, строка 1 [8](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=7) inputs =feed_dict['image']. к (устройству) [9](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=8) Targets =feed_dict['digit']. к (устройству) ---> [11](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=10) выходные данные = модель (входные данные) [12](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=11) loss = F.nll_loss(выходы, цели) ) [13](vscode-notebook-cell:/c%3A/Users/m992c693/Documents/VS_Code_Workspace/torch_quantum_examples/quanvolution/quanvolution.ipynb#W6sZmlsZQ%3D%3D?line=12)оптимизатор.zero_grad() Файл [c:\Users\m992c693\AppData\Local\anaconda3\envs\study_torchquantum\lib\site-packages\torch\nn\modules\module.py:1501](file:///C:/Users/m992c693/ AppData/Local/anaconda3/envs/study_torchquantum/lib/site-packages/torch/nn/modules/module.py:1501), в Module._call_impl(self, *args, **kwargs) 1496 # Если у нас нет никаких перехватчиков, мы хотим пропустить остальную логику в 1497# эта функция и просто вызов вперед. 1498, если нет (self._backward_hooks или self._backward_pre_hooks или self._forward_hooks или self._forward_pre_hooks 1499 или _global_backward_pre_hooks или _global_backward_hooks 1500 или _global_forward_hooks или _global_forward_pre_hooks): -> 1501 return front_call(*args, **kwargs) 1502 # Не вызывать функции при использовании jit ... 203 еще: 204 # матрица без партии, состояние в пакетном режиме 205 bsz = permuted.shape[0] RuntimeError: ожидаемый размер первых двух измерений тензора пакета 2: [10, 2], но получено: [1, 2]. Вывод усекается. Просмотреть как [прокручиваемый элемент](команда:cellOutput.enableScrolling?76d3ad22-064b-447e-982a-e21e2f0d2802) или открыть в [текстовом редакторе](команда:workbench.action.openLargeOutput?76d3ad22-064b-447e-982a-e21e2f0d2802 ). Настройте вывод ячейки [настройки] (команда:workbench.action.openSettings?%5B%22%40tag%3AnotebookOutputLayout%22%5D)... [2023-09-18 17:08:29.987] Используйте только передние 500 изображений в качестве набора TRAIN. [2023-09-18 17:08:30.092] Используйте только передние 300 изображений в качестве ТЕСТОВОГО набора. Несмотря на то, что я создал проблему, я не думаю, что проблема в коде, поскольку именно этот фреймворк упоминается во многих исследовательских работах. Было бы здорово, если бы кто-нибудь помог мне в этом.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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