Изменить один тип узла в графе Tensorflow - PullRequest
1 голос
/ 29 марта 2019

Итак, у меня есть график тензорного потока, сохраненный в файле .pb, он хорошо работает на моей машине, но когда я запускаю его на tenorflow v 1.3, он загружается нормально, но вылетает со следующей ошибкой

InvalidArgumentError (see above for traceback): No OpKernel was registered to support Op 'Reshape' with these attrs.  Registered devices: [CPU], Registered kernels:
  device='CPU'; Tshape in [DT_INT32]
  device='GPU'; T in [DT_COMPLEX128]; Tshape in [DT_INT32]
  device='GPU'; T in [DT_COMPLEX64]; Tshape in [DT_INT32]
  device='GPU'; T in [DT_INT8]; Tshape in [DT_INT32]
  device='GPU'; T in [DT_UINT8]; Tshape in [DT_INT32]
  device='GPU'; T in [DT_INT16]; Tshape in [DT_INT32]
  device='GPU'; T in [DT_UINT16]; Tshape in [DT_INT32]
  device='GPU'; T in [DT_INT64]; Tshape in [DT_INT32]
  device='GPU'; T in [DT_DOUBLE]; Tshape in [DT_INT32]
  device='GPU'; T in [DT_FLOAT]; Tshape in [DT_INT32]
  device='GPU'; T in [DT_HALF]; Tshape in [DT_INT32]

           [[Node: Reshape_165 = Reshape[T=DT_FLOAT, Tshape=DT_INT64](transpose_145, add_31)]]

После исследования я обнаружил, что операция Reshape_165 имеет форму DT_INT64, и v1.3 не поддерживает DT_INT64 для Reshape, как говорится в сообщении, поэтому мне было интересно, есть ли способ изменить Операция Reshape_165 dtype для DT_INT32 учитывает, что весь граф выполняется, но для этой операции, которая выполняется непосредственно перед выходными данными concat_52 и concat_53

add_31
Reshape_165
concat_52/axis
concat_52
concat_53/axis
concat_53
...