python人工智能tensorflow函数tf.layers.dense使用方法_第1页
python人工智能tensorflow函数tf.layers.dense使用方法_第2页
python人工智能tensorflow函数tf.layers.dense使用方法_第3页
python人工智能tensorflow函数tf.layers.dense使用方法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第python人工智能tensorflow函数tf.layers.dense使用方法目录参数数量及其作用部分参数解释:示例

参数数量及其作用

tf.layers.dense用于添加一个全连接层。

函数如下:

tf.layers.dense(

inputs,#层的输入

units,#该层的输出维度

activation=None,#激活函数

use_bias=True,

kernel_initializer=None,#卷积核的初始化器

bias_initializer=tf.zeros_initializer(),#偏置项的初始化器

kernel_regularizer=None,#卷积核的正则化

bias_regularizer=None,#偏置项的正则化

activity_regularizer=None,

kernel_constraint=None,

bias_constraint=None,

trainable=True,

name=None,#层的名字

reuse=None#是否重复使用参数

部分参数解释:

inputs:输入该层的数据。

units:该层的输出维度。

activation:激活函数。

use_bias:是否使用偏置项。

trainable=True:表明该层的参数是否参与训练。

示例

手写体例子,利用两个dense可以构成一个单层网络,在下面例子中,网络的神经元个数为200。

importnumpyasnp

importtensorflowastf

fromtensorflow.examples.tutorials.mnistimportinput_data

defcompute_accuracy(x_data,y_data):

globaldense2

y_pre=sess.run(dense2,feed_dict={xs:x_data})

correct_prediction=tf.equal(tf.arg_max(y_data,1),tf.arg_max(y_pre,1))#判断是否相等

accuracy=tf.reduce_mean(tf.cast(correct_prediction,tf.float32))#赋予float32数据类型,求平均。

result=sess.run(accuracy,feed_dict={xs:batch_xs,ys:batch_ys})#执行

returnresult

mnist=input_data.read_data_sets("MNIST_data",one_hot="true")

xs=tf.placeholder(tf.float32,[None,784])

ys=tf.placeholder(tf.float32,[None,10])

dense1=tf.layers.dense(

200,

activation=tf.nn.tanh,

kernel_initializer=tf.random_normal_initializer(mean=0,stddev=0.3),

bias_initializer=tf.constant_initializer(0.1),

name='fc1'

dense2=tf.layers.dense(

dense1,

activation=tf.nn.softmax,

kernel_initializer=tf.random_normal_initializer(mean=0,stddev=0.3),

bias_initializer=tf.constant_initializer(0.1),

name='fc2'

loss=tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=dense2,labels=ys),name='loss')

#label是标签,logits是预测值,交叉熵。

train=tf.train.GradientDescentOptimizer(0.5).minimize(loss)

init=tf.initialize_all_variables()

withtf.Session()assess:

sess.run(init)

foriinrange(5001):

batch_xs,batch_ys=mnist.train.next_batch(100)

sess.run(train,feed_dict={xs:batch_xs,ys:batch_ys})

ifi%1000==0:

print("训练%d次的识别率为:%f。"%((i+1),compute_accuracy(mnist.test.images,mnist.test.labels)))

实验结果为:

训练1次的识别率为:0.107400。

训练1001次的识别率为:0.805200。

训练2001次的识别率为:0.822800。

训练3001次的识别率为:0.829400。

训练4001次的识别率为:0.833100。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论