Ошибка типа: невозможно преобразовать np.ndarray типа numpy.object_ - PullRequest
0 голосов
/ 17 апреля 2019

Как конвертировать numy ndarry в тензор факела?

Вот мои данные:

array([array([-0.4287  , -1.193   , -2.156   , -0.2264  , -1.978   , -1.101   ,   -3.395   ,  0.2974  ], dtype=float16),
   array([-0.3386 ,  1.398  , -1.083  ,  0.2961 , -0.7354 , -1.326  , -4.33   ,  0.6284 ], dtype=float16)], 
   dtype=object)

1 Ответ

0 голосов
/ 17 апреля 2019

Трудно ответить правильно, так как вы не показываете нам, как вы пытаетесь это сделать. Из вашего сообщения об ошибке я вижу, что вы пытаетесь преобразовать пустой массив, содержащий объекты, в тензор факела. Это не работает, вам понадобится числовой тип данных:

import torch
import numpy as np

# Your test array without 'dtype=object'
a = np.array([
   np.array([-0.4287  , -1.193   , -2.156   , -0.2264  , -1.978   , -1.101   ,   -3.395   ,  0.2974  ], dtype=np.float16),
   np.array([-0.3386 ,  1.398  , -1.083  ,  0.2961 , -0.7354 , -1.326  , -4.33   ,  0.6284 ], dtype=np.float16)
])

print(a.dtype) # This should not be 'object'

b = torch.from_numpy(a)

print(b)

выход

float16
tensor([[-0.4287, -1.1934, -2.1562, -0.2264, -1.9775, -1.1006, -3.3945,  0.2974],
        [-0.3386,  1.3984, -1.0830,  0.2961, -0.7354, -1.3262, -4.3281,  0.6284]],
       dtype=torch.float16)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...