TypeError: Input 'input_sizes' для 'Conv3DBackpropInputV2' Op имеет тип int64, который не соответствует ожидаемому типу int32 - PullRequest
0 голосов
/ 26 апреля 2018
deconv_shape1 = layer3.get_shape()
de_W1 = tf.Variable(tf.truncated_normal(shape=(4, 4, 4, 
deconv_shape1[4].value, 2), mean = mu, stddev = sigma))
de_b1 = tf.Variable(tf.zeros(deconv_shape1[4].value))
output_shape=x.get_shape().as_list()
output_shape[1] *= 2
output_shape[2] *= 2
output_shape[3] *= 2 
output_shape[4] = deconv_shape1[4].value
output_shape=np.asarray(output_shape)
output_shape=tfConv3DBackpropInputV2.convert_to_tensor(output_shape)
print(type(output_shape))
x = tf.nn.conv3d_transpose(x, de_W1, output_shape, strides=[1, 2, 2, 2, 1], padding="SAME")
x = tf.nn.bias_add(x,de_b1)
first_down_layer=x

x относится к типу int32.

Я получаю сообщение об ошибке, как упоминалось в тензорном потоке.Что я делаю не так, потому что я даже не звоню Conv3DBackpropInputV2().

Я новичок в tenorflow, пожалуйста, помогите !!

1 Ответ

0 голосов
/ 27 апреля 2018

Как префикс, почему бы вам не использовать готовый слой conv3d_transpose, tf.layers.conv3d_transpose(), почему вы пытаетесь собрать его вместе со всеми этими движущимися частями?Но, может, у тебя есть веская причина?Итак:

output_shape имеет тип int64.Запустите этот код:

import tensorflow as tf
import numpy as np

a = tf.zeros( ( 5, 5, 5, 5, 5 ) )
b = a.get_shape().as_list()
c = np.asarray( b )
print( c.dtype )

выведет

int64

Так что сделайте это при преобразовании в массив:

output_shape = np.asarray( output_shape, dtype = np.int32 )

Это должно это исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...