
买了一《 tensorflow 机器学习实战指南》,自己学到了第六章,神经网络算法。
但是有个简单例子小弟一时半会卡在这里,大家是否可以抽空指导一下。
谢谢
我的问题是定义卷积层函数的时候,书上说把 1D 扩展到 4D。
为什么 input_4d = tf.expand_dims(input_3d, 3)第二个参数用了 3,而 input_1-3d 都是 0
import tensorflow as tf import numpy as np sess = tf.Session() data_size = 25 data_1d = np.random.normal(size=data_size) x_input_1d = tf.placeholder(dtype=tf.float32, shape=[data_size]) def conv_layer_1d(input_1d, my_filter): # make 1d input into 4d input_2d = tf.expand_dims(input_1d, 0) input_3d = tf.expand_dims(input_2d, 0) input_4d = tf.expand_dims(input_3d, 3) # perform convolution convolution_output = tf.nn.conv2d(input_4d, filter=my_filter, strides=[1,1,1,1], padding="VALID") conv_output_1d = tf.squeeze(convolution_output) return(conv_output_1d) my_filter = tf.Variable(tf.random_normal(shape=[1,5,1,1])) my_convolution_output = conv_layer_1d(x_input_1d, my_filter) ......