• Tensorflow搭建神经网络的主要函数


    Tensorflow搭建神经网络的主要函数

    梳理利用Tensorflow搭建神经网络的整个过程中使用的主要函数

    一.第1步:网络的输入

    神经网络的输入可以利用占位符声明

    1.占位符

    tf.placeholder(dtype,shape=None,name=None)
    

    二.第2步:搭建网络

    如果搭建的是全连接神经网络,则主要使用矩阵乘法和加法的函数

    1.矩阵乘法函数

    tf.matmul(a,b,transpose_a=False,transpose_b=False,adjoint_a=False,adjoint_b=False,a_is_sparse=False,b_is_sparse=False,name=None)
    

    2.加法函数

    tf.add(x,y,name=None)
    

    如果搭建的是卷积神经网络,则主要使用卷积函数,池化函数和加法函数

    3.卷积函数

    tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on_gpu=True,data_format='NHWC',dilations=[1,1,1,1],name=None)
    

    4.池化函数

    tf.nn.max_pool(value,ksize,strides,padding,data_format='NHWC',name=None)
    tf.nn.avg_pool(value,ksize,strides,padding,data_format='NHWC',name=None)
    

    加法函数和搭建全连接神经网络使用的加法函数相同。当然可以直接使用加法运算符"+"

    为了防止过拟合,可以添加dropout操作,对应的函数如下:

    tf.nn.dropout(x,keep_prob,noise_shape=None,seed=None,name=None)
    

    为了加快收敛速度,可以添加BN操作

    tf.moments(x,axes,shitf=None)
    tf.nn.batch_normalization(x,mean,variance,offset,scale,variance_epsilon)
    

    搭建神经网络使用如下激活函数

    tf.nn.sigmoid(x,name=None)
    tf.nn.tanh(x,name=None)
    tf.nn.relu(features,name=None)
    tf.nn.relu6(features,alpha=0.2,name=None)
    tf.nn.crelu(features,name=None)
    tf.nn.selu(features,name=None)
    tf.nn.softplus(features,name=None)
    r=tf.nn.softsign(features,name=None)
    

    三.第3步:创建损失函数

    tf.reduce_sum(input_tensor,axis=None,keepdims=None,name=None,reduction_indices=None,keep_dims=None)
    tf.nn.sigmoid_cross_entropy_with_logits(abels=None,logits=None)
    tf.nn.softmax_cross_entropy_with_logits_2(abels=None,logits=None)
    

    四.第4步:选择优化器(即梯度下降法)

    tf.train.GradientDescentOptimizer
    tf.train.AdagradOptimizer
    tf.train.MomentumOptimizer
    tf.train.RMSPropOptimizer
    tf.train.AdadeltaOptimizer
    tf.train.AdamOptimizer
    

    五.第5步:评估模型的准确率

    评估模型的准确率就是对比人工分类和模型分类

    tf.equal(x,y,name=None)
    

    使用对比函数,返回值是bool型,所以需要类型转换函数:

    tf.cast(x,dtype,name=None)
    

    然后根据cast的返回值,利用平均值函数tf.reduce_mean(input_tensor,axis=None)计算准确率(百分比)

    六.第6步:保存和加载模型

    训练模型结束后,需要保存模型,创建类tf.train.Saver,然后利用成员函数save()保存模型

    模型加载时,利用其成员函数restore()加载到内存中

  • 相关阅读:
    使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
    URL中“#” “?” &“”号的作用
    JavaScript中事件捕获(Event capturing)-------------->由外向内,事件冒泡(Event bubblin)---------->由内向外
    单页面应用程序案例
    【344】Jupyter relevant problems
    【343】MathJax、LaTex、Mathml 数学公式
    【342】Linear Regression by Python
    【341】Numpy 相关应用
    【340】GIS related knowledge
    java中通过反射获取方法并且调用(getMethod和invoke深入)实践
  • 原文地址:https://www.cnblogs.com/LQ6H/p/10343267.html
Copyright © 2020-2023  润新知