У меня есть массив numpy
> data[0]
array([array([[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
...,
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255]], dtype=uint8),
62390], dtype=object)
И мне нужно сделать DataLoader из этих данных Но когда я пытаюсь
my_dataloader = DataLoader(data, batch_size= 64, shuffle= True, num_workers= 4)
У меня ошибка: default_collate: пакет должен содержать тензоры, массивы numpy, числа, словари или списки; найденный объект .
Но я не могу изменить dtype. Как мне это сделать?
In-place type conversion of a NumPy array
не имеет значения. Пока вы показываете толькоdata[0]
, очевидно, чтоdata
- это массив объектов dtype, возможно, 2d. Массивы элементов также могут различаться по форме.data[0,0].astype(float)
должен работать, создавая новый массив из внутреннегоuint8
. Проверьте формуdata
и всех его массивов элементов. - person hpaulj   schedule 23.12.2020