Tensorflow - notimplented错误:不支持负索引



我是Tensorflow新手。我正试图用下面的模型建立一个修道院。我得到一个NotImplementedError。代码看起来很好,不确定我错过了什么。-> hidden2 = tf.nn.relu(conv2,layer2_biases)

与graph.as_default ():

tf_train_dataset = tf.placeholder(
tf.float32, shape=(128, 24, 24, 3))
tf_train_labels = tf.placeholder(tf.float32, shape=(128, 10))
layer1_weights = tf.Variable(tf.truncated_normal([5,5,3,64],stddev=0.1))
layer1_biases = tf.Variable(tf.zeros([64]))
layer2_weights = tf.Variable(tf.truncated_normal([5,5,64,64],stddev=0.1))
layer2_biases = tf.Variable(tf.constant(1.0, shape=[64]))
layer3_weights = tf.Variable(tf.truncated_normal([6 * 6 * 64 ,384],stddev=0.1))
layer3_biases = tf.Variable(tf.constant(1.0, shape=[384]))
layer4_weights = tf.Variable(tf.truncated_normal([384,192],stddev=0.1))
layer4_biases = tf.Variable(tf.constant(1.0, shape=[192]))
layer5_weights = tf.Variable(tf.truncated_normal([192,10],stddev=0.1))
layer5_biases = tf.Variable(tf.constant(1.0, shape=[64]))
def model(data):
    conv1 = tf.nn.conv2d(data,layer1_weights,[1,1,1,1],padding='SAME')
    hidden1 = tf.nn.relu(conv1 + layer1_biases)
    hidden1 = tf.nn.max_pool(hidden1, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1],
    padding='SAME', name='pool1')
    conv2 = tf.nn.conv2d(hidden1,layer2_weights,[1,1,1,1],padding='SAME')
    hidden2 = tf.nn.relu(conv2,layer2_biases)
    hidden2 = tf.nn.max_pool(hidden2,ksize=[1,3,3,1],strides=[1,2,2,1],padding='SAME',name='pool2')
    shape = hidden2.get_shape().as_list()
    hidden2 = tf.reshape(hidden2, [shape[0], shape[1] * shape[2] * shape[3]])
    hidden3 = tf.nn.relu(tf.matmul(hidden2, layer3_weights) + layer3_biases)
    hidden4 = tf.nn.relu(tf.matmul(hidden3, layer4_weights) + layer4_biases)
    return tf.matmul(hidden4,layer5_weights) + layer5_biases
logits = model(tf_train_dataset)
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits,tf_train_labels))
optimizer = tf.train.GradientDescentOptimizer(0.05).minimize(loss)
train_prediction = tf.nn.softmax(logits)

tf.relu有两个参数:features张量和name字符串,你发送两个张量。应该是:

conv2 = tf.nn.bias_add(conv2, layer2_biases)
hidden2 = tf.nn.relu(conv2)

tf.bias_add只是tf.add的一个特例。

最新更新