Sto cercando di applicare la parte dell'esperto del tutorial ai miei dati, ma continuo a riscontrare errori dimensionali. Ecco il codice che porta all'errore.Come posso correggere un errore di quota in TensorFlow?
def weight_variable(shape):
initial = tf.truncated_normal(shape, stddev=0.1)
return tf.Variable(initial)
def bias_variable(shape):
initial = tf.constant(0.1, shape=shape)
return tf.Variable(initial)
def conv2d(x, W):
return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')
def max_pool_2x2(x):
return tf.nn.max_pool(x, ksize=[1, 2, 2, 1],
strides=[1, 2, 2, 1], padding='SAME')
W_conv1 = weight_variable([1, 8, 1, 4])
b_conv1 = bias_variable([4])
x_image = tf.reshape(tf_in, [-1,2,8,1])
h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1)
h_pool1 = max_pool_2x2(h_conv1)
E poi, quando si tenta di eseguire questo comando:
W_conv2 = weight_variable([1, 4, 4, 8])
b_conv2 = bias_variable([8])
h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2)
h_pool2 = max_pool_2x2(h_conv2)
Ottengo i seguenti errori:
ValueError Traceback (most recent call last)
<ipython-input-41-7ab0d7765f8c> in <module>()
3
4 h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2)
----> 5 h_pool2 = max_pool_2x2(h_conv2)
ValueError: ('filter must not be larger than the input: ', 'Filter: [', Dimension(2), 'x', Dimension(2), '] ', 'Input: [', Dimension(1), 'x', Dimension(4), '] ')
Solo per alcune informazioni di base, i dati che ho a che fare con è un file CSV in cui ogni riga contiene 10 funzioni e 1 colonna vuota che può essere un 1 o uno 0. Quello che sto cercando di ottenere è una probabilità nella colonna vuota che la colonna sarà uguale a 1.
Che cos'è 'tf_in'? Suppongo che sia l'input originale 1x8. – erickrf
'data = genfromtxt ('cs-training.csv', delimitatore = ',')'. 'A = data.shape [1] -1'. 'tf_in = tf.placeholder (" float ", [None, A])'. – NickTheInventor