我想用我自己的数据集训练CNN(它不是用于图像分类),但我是CNN的新手,示例代码中的参数让我很困惑。我试图更改参数但失败了。
我的训练数据中的每个样本都是205 * 8 = 1640(8行乘205列), 我只有2个类(目标和非目标)。
但我不确定如何设置下面代码的参数以适合我的数据集。
这是源代码的一部分(我借用了它)
此代码用于将28 * 28 MINST图像分类为10个类
n_classes = 2
batch_size = 128
x = tf.placeholder('float', [None, 1640])
y = tf.placeholder('float')
def conv2d(x, W):
return tf.nn.conv2d(x, W, strides=[1,1,1,1], padding='SAME')
def maxpool2d(x):
# size of window movement of window
return tf.nn.max_pool(x, ksize=[1,2,2,1], strides=[1,2,2,1], padding='SAME')
def convolutional_neural_network(x):
weights = {'W_Conv1': tf.Variable(tf.random_normal([5, 5, 1, 32])),
'W_Conv2': tf.Variable(tf.random_normal([5, 5, 32, 64])),
'W_fc': tf.Variable(tf.random_normal([7*7*64, 1024])),
'out': tf.Variable(tf.random_normal([1024, n_classes]))}
biases = {'b_Conv1': tf.Variable(tf.random_normal([32])),
'b_Conv2': tf.Variable(tf.random_normal([64])),
'b_fc': tf.Variable(tf.random_normal([64])),
'out': tf.Variable(tf.random_normal([n_classes]))}
x = tf.reshape(x, shape=[-1, 28, 28, 1])
conv1 = conv2d(x, weights['W_Conv1'])
conv1 = maxpool2d(conv1)
conv2 = conv2d(conv1, weights['W_Conv2'])
conv2 = maxpool2d(conv2)
fc = tf.reshape(conv2, [-1, 7*7*64])
fc = tf.nn.relu(tf.matmul(fc, weights['W_fc']) + biases['b_fc'])
output = tf.matmul(fc, weights['out']) + biases['out']
return output