【TensorFlow】ValueError: Shape must be rank 1 but is rank 0 for ' ’ with input shapes: [].問題
阿新 • • 發佈:2018-12-21
基於TensorFlow訓練mnist資料集出現如下錯誤:
檢測程式碼,發現是偏置設定格式錯誤導致。
1、錯誤程式碼:
# 定義權重和偏置 n_input = 784 n_output = 10 weights = { 'wc1': tf.Variable(tf.random_normal([3, 3, 1, 64], stddev=0.1)), 'wc2': tf.Variable(tf.random_normal([3, 3, 64, 128], stddev=0.1)), 'wd1': tf.Variable(tf.random_normal([7 * 7 * 128, 1024], stddev=0.1)), 'wd2': tf.Variable(tf.random_normal([1024, n_output], stddev=0.1)) } biases = { 'bc1': tf.Variable(tf.random_normal(64), stddev=0.1), 'bc2': tf.Variable(tf.random_normal(128), stddev=0.1), 'bd1': tf.Variable(tf.random_normal(1024), stddev=0.1), 'bd2': tf.Variable(tf.random_normal(n_output), stddev=0.1) }
2、修改後的程式碼如下:
把biases的"()"改為"[]"
#定義權重和偏置 n_input = 784 n_output= 10 weights = { 'wc1':tf.Variable(tf.random_normal([3,3,1,64], stddev=0.1)), 'wc2':tf.Variable(tf.random_normal([3,3,64,128],stddev=0.1)), 'wd1':tf.Variable(tf.random_normal([7*7*128,1024],stddev=0.1)), 'wd2':tf.Variable(tf.random_normal([1024,n_output],stddev=0.1)) } biases = { 'bc1':tf.Variable(tf.random_normal([64], stddev=0.1)), 'bc2':tf.Variable(tf.random_normal([128],stddev=0.1)), 'bd1':tf.Variable(tf.random_normal([1024],stddev=0.1)), 'bd2':tf.Variable(tf.random_normal([n_output],stddev=0.1)) }