Я устанавливаю новый алгоритм, который объединяет детектор объектов (детектор ограничивающей рамки), который находится в Python 3, и генератор масок, который находится в Python 2. Проблема в том, что у меня есть несколько файлов Python 2, которые требуются дляалгоритм генерации маски.Поэтому я попытался 2to3
преобразовать все мои файлы Python 2 в Python 3. Сценарий выглядел как работающий, но поскольку это был алгоритм глубокого обучения (для генерации маски, когда координаты ограничивающего прямоугольника задаются в качестве входных данных), для которого требуются некоторые веса Pytorch, чтобызагружен, при тестировании модели в python 3 программа выдает ошибку типа
"RuntimeError: Ожидаемый объект типа torch.FloatTensor, но обнаружен тип torch.cuda.FloatTensor для аргумента # 2 'weight'"
Я искал на PyTorch
форумах, но ни один из постов не был мне полезен.Это потому, что мой код генерации масок обучен на python 2?
Означает ли это, что при загрузке весов и тестировании модели я должен использовать python 2, а не python 3?Было бы здорово, если бы кто-то смог пролить свет на это.В качестве обходного пути я все еще могу использовать код детектора объектов, пониженный до Python 2. Но все же я хочу знать, почему он выдает ошибку.