如何将卷积层添加到神经网络?

时间:2020-04-22 13:02:23

标签: python tensorflow neural-network

根据此post,我有前馈神经网络

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

神经元

n_neurons_1 = 256
n_neurons_2 = 128
n_neurons_3 = 64
n_neurons_4 = 32
n_neurons_5 = 16
n_neurons_6 = 8

net = tf.InteractiveSession()

占位符

X = tf.placeholder(dtype=tf.float32, shape=[None, n_stocks])
Y = tf.placeholder(dtype=tf.float32, shape=[None])

引发剂

sigma = 1
weight_initializer = tf.variance_scaling_initializer(mode="fan_avg", 
                                                     distribution="uniform", 
                                                     scale=sigma)
bias_initializer = tf.zeros_initializer()

隐藏重量

W_hidden_1 = tf.Variable(weight_initializer([n_stocks, n_neurons_1]))
bias_hidden_1 = tf.Variable(bias_initializer([n_neurons_1]))
W_hidden_2 = tf.Variable(weight_initializer([n_neurons_1, n_neurons_2]))
bias_hidden_2 = tf.Variable(bias_initializer([n_neurons_2]))
W_hidden_3 = tf.Variable(weight_initializer([n_neurons_2, n_neurons_3]))
bias_hidden_3 = tf.Variable(bias_initializer([n_neurons_3]))
W_hidden_4 = tf.Variable(weight_initializer([n_neurons_3, n_neurons_4]))
bias_hidden_4 = tf.Variable(bias_initializer([n_neurons_4]))
W_hidden_5 = tf.Variable(weight_initializer([n_neurons_4, n_neurons_5]))
bias_hidden_5 = tf.Variable(bias_initializer([n_neurons_5]))
W_hidden_6 = tf.Variable(weight_initializer([n_neurons_5, n_neurons_6]))
bias_hidden_6 = tf.Variable(bias_initializer([n_neurons_6]))

我正在尝试添加卷积层

W_conv1 = tf.Variable(weight_initializer([None, n_stocks]))
conv1 = tf.nn.conv2d(X, W_conv1, strides=[-1, 1, 1, 1], padding='SAME')

hidden_1 = tf.nn.relu(tf.add(tf.matmul(conv1, W_hidden_1), bias_hidden_1))
hidden_2 = tf.nn.relu(tf.add(tf.matmul(hidden_1, W_hidden_2), bias_hidden_2))
hidden_3 = tf.nn.relu(tf.add(tf.matmul(hidden_2, W_hidden_3), bias_hidden_3))
hidden_4 = tf.nn.relu(tf.add(tf.matmul(hidden_3, W_hidden_4), bias_hidden_4))
hidden_5 = tf.nn.relu(tf.add(tf.matmul(hidden_4, W_hidden_5), bias_hidden_5))
hidden_6 = tf.nn.relu(tf.add(tf.matmul(hidden_5, W_hidden_6), bias_hidden_6))

出现这种错误:

TypeError:int()参数必须是字符串,类似字节的对象或 数字,而不是“ NoneType”

我想这是因为没有

W_conv1 = tf.Variable(weight_initializer([None, n_stocks]))

如何解决此问题?这样添加卷积层是否正确?如果错误,应该如何添加?

0 个答案:

没有答案