NoneTenorflow sess.run(xxx, feed_dict) ValueError: не удалось преобразовать строку в число с плавающей точкой:

Я пытаюсь реализовать модель resnet18 для идентификации нескольких изображений по меткам. Набор данных состоит из 2 .npy файлы, в первой 400 матрицы 512*512*1 изображения хранятся; во втором хранятся названия этих изображений и их метки.

print(train_feed_dict[self.x][0])
[[[ 11   0   0]
  [  0   4   0]
  [  0   7   0]
  ...
  [  3   2   0]
  [  7   0   1]
  [ 10   0   2]]

 ...

 [[  1  24  92]
  [ 11  24  92]
  [ 17  22  78]
  ...
  [  0   0   0]
  [  0   0   0]
  [  0   0   0]]]


print(train_feed_dict[self.y][0:10])
    [['VSFM7uUw' '3']
     ['J2tDltQ3' '16']
     ['Pr9SGexh' '2']
     ['CfwhN3G1' '9,8']
     ['mKR5To95' '9,10,1,2']
     ['ZLNOmXFa' '12']
     ['UaQPQ0XN' '0']
     ['hNCvKG2x' '0']
     ['wZYmeZoK' '4']
     ['Iqg9FkqJ' '0']]

print(train_feed_dict[self.lr])
    0.0032768`

train_feed_dict определяется так:

train_feed_dict = {
                    self.x : train_batch_x,
                    self.y : train_batch_y,
                    self.lr : epoch_lr
                }

`

Определение train_batch_x и train_batch_y `

train_batch_x, train_batch_y = self.get_train_batch(train_index, idx)

definition of get_train_batch:

def get_train_batch(self, xx, idx):
        return  self.train_x[idx * self.batch_size: 
     (idx+1)*self.batch_size], \
                self.train_y[idx * self.batch_size: 
    (idx+1)*self.batch_size],

`

определение self.train_x и self.train_y: `

self.train_x = np.load("/home/adios/Desktop/python/0train0_x.npy")
            self.train_y = 
np.load("/home/adios/Desktop/python/0train0_y.npy")

`

Ошибка, которую я получаю, такова: `

Traceback (most recent call last):
    File "/home/adios/Desktop/python/resnet/train.py", line 42, in <module>
    main()
    File "/home/adios/Desktop/python/resnet/train.py", line 31, in main
    cnn.train()
    File "/home/adios/Desktop/python/resnet/ResNet.py", line 403, in 
    train
    feed_dict = train_feed_dict
    File "/home/adios/.conda/envs/tensor/lib/python2.7/site-    
    packages/tensorflow/python/client/session.py", line 929, in run
    run_metadata_ptr)
    File "/home/adios/.conda/envs/tensor/lib/python2.7/site-
    packages/tensorflow/python/client/session.py", line 1121, in _run
    np_val = np.asarray(subfeed_val, dtype=subfeed_dtype)
    File "/home/adios/.conda/envs/tensor/lib/python2.7/site- 
    packages/numpy/core/numeric.py", line 538, in asarray
    return array(a, dtype, copy=False, order=order)
    ValueError: could not convert string to float: iqNJyqQK

`

До сих пор я пытался изменить название картинки в self.train_y целым числам, чтобы избежать этой проблемы. например iqNJyqQk станет 254Это действительно пропустило это, у меня тогда была подобная проблема с лейблами, которые были в форме 2,8Я попытался сделать то же самое и вставить в него несколько случайных целых чисел (на данный момент я просто хотел решить проблему, прежде чем получить правильные результаты). Я действительно избежал

ValueError: could not convert string to float: 

ошибка, но я получил другую ошибку:

ValueError: Cannot feed value of shape (128, 2) for Tensor u'y:0', 
    which has shape '(?, 29)

0 ответов

Другие вопросы по тегам