Ошибка ImportError: невозможно импортировать имя «is_sparse_any» из «torch._subclasses.meta_utils» в PyTorch

Я столкнулся с ошибкой импорта при попытке определить и обучить модель Seq2Seq с помощью PyTorch. Ниже приведен фрагмент кода, с которым я работаю:

import torch
import torch.nn as nn
from torch.nn import TransformerEncoderLayer, TransformerDecoderLayer

class Seq2Seq(nn.Module):
    def __init__(self, encoder, decoder, config):
        super().__init__()
        self.encoder = encoder(config)
        self.decoder = decoder(config)
        
    def forward(self, src, tgt):
        encoder_output = self.encoder(src)
        decoder_output = self.decoder(encoder_output, tgt)
        return decoder_output

model = Seq2Seq(TransformerEncoderLayer, TransformerDecoderLayer, config)
optimizer = torch.optim.Adam(model.parameters())

Однако когда я запускаю этот код, я получаю следующую ошибку в последней строке:

ImportError: cannot import name 'is_sparse_any' from 'torch._subclasses.meta_utils'

Что я пробовал:

Проверил операторы импорта, чтобы убедиться в их правильности. Проверено, что моя установка PyTorch обновлена. Искал в Интернете похожие проблемы, но не нашел четкого решения.

Как я могу решить

ImportError: cannot import name 'is_sparse_any' from 'torch._subclasses.meta_utils' error?

Связано ли это с проблемой с переменными среды или с ошибкой в ​​версии PyTorch, которую я использую?

Дополнительная информация:

Я убедился, что torch установлен правильно, запустив другие базовые сценарии PyTorch. Похоже, эта ошибка связана с настройкой среды, но я не знаю, как ее исправить. Спасибо за помощь!


72
1

Ответ:

Решено

Я не думаю, что есть какие-либо проблемы с вашим кодом

  1. Можете ли вы упомянуть версию Pytorch, которую вы используете?
  2. Можете ли вы также запустить этот фрагмент кода в новом сеансе?

Интересные вопросы для изучения

AttributeError: `np.string_` был удален в версии NumPy 2.0. Вместо этого используйте `np.bytes_`. Вы имели в виду: «строки»?Обучение экстрактора пользовательских функций в стабильных базовых условиях3. Начиная с предварительно обученных весов?Быстрый способ удалить несколько строк по индексам из 2D-массива Pytorch или NumpyКак присвоить значение нульмерному тензору факела?Несоответствие размера для embed_out.weight: копирование параметра с помощью shape torch.Size([0]) из контрольной точки – Huggingface PyTorchКак вручную установить новую скорость обучения в оптимизаторе optax?Использование библиотеки Netscape для выполнения операции поиска LDAP и получения ограниченного результата до 10000 при указании диапазона (0-*)Почему у Адама увеличивается скорость обучения?Как обновить атрибут различаемого имени AD LDS с одного значения на нетГде возникает эта ошибка измерения в моем алгоритме ADAM?