|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 alltolove 于 2018-11-30 10:31 编辑
制作计算图就是完成卷积神经网络的那些个层,代码如下:
- x=tf.placeholder(tf.float32,[None,3072])
- y=tf.placeholder(tf.int64,[None])
- x_image=tf.reshape(x,(-1,3,32,32))
- x_image=tf.transpose(x_image,perm=[0,2,3,1])
- conv3=tf.layers.conv2d(x_image,
- 10,
- (3,3),
- padding='same',
- activation=None,
- name='conv3',
- kernel_initializer=tf.truncated_normal_initializer(stddev=0.02)
- )
- bn=tf.layers.batch_normalization(conv3,
- training=True,
- )
- active=tf.nn.elu(bn)
- pooling3=tf.layers.max_pooling2d(active,
- (2,2),
- (2,2),
- name='pool3'
- )
- flatten=tf.layers.flatten(pooling3)
- y_=tf.layers.dense(flatten,10)
- loss=tf.losses.sparse_softmax_cross_entropy(labels=y,logits=y_)
- predict=tf.argmax(y_,1)
- correct_predict=tf.equal(predict,y)
- accuracy=tf.reduce_mean(tf.cast(correct_predict,tf.float64))
- train_op=tf.train.AdamOptimizer(1e-3).minimize(loss)
- init=tf.global_variables_initializer()
复制代码
首先要把原来一行3072的数据转换成图片的矩阵形式,接下来就是一个卷积层,一个批量归一化层,一个池化层,和一个全连接层,就是最简单的形式,一般卷积神经网的卷积层都是有好几个的,这里为了程序运行速度就简化为一个了。
最后是求一个损失值,计算一下准确率,然后做一个训练数据(又叫反向传播)的算法AdamOptimizer |
|