[Tensorflow]激励函数tf.nn.relu样例

代码:

import tensorflow as tf
import numpy as np
### 定义添加神经网络层函数 START ###

def add_layer(inputs,in_size,out_size,activation_function=None):
    """描述:  添加神经网络层函数.
    :param inputs:  输入神经层
    :param in_size: 输入神经层的神经元个数
    :param out_size:    输出神经层的神经元个数
    :param activation_function: 激励函数
    """

    # 定义一个"in_size行,out_size列"的随机矩阵变量
    Weights=tf.Variable(tf.random_normal([in_size,out_size]))

    # 定义一个"1行,out_size列"的0值矩阵基准变量
    biases=tf.Variable(tf.zeros([1,out_size])+0.1)

    # 定义一个矩阵乘法函数公式
    Wx_plus_b = tf.matmul(inputs,Weights)+biases

    # 判断是否使用激励函数
    if activation_function is None:
        outputs=Wx_plus_b
    else:
        outputs=activation_function(Wx_plus_b)
    return outputs
### 定义添加神经网络层函数 END ###

### 定义变量结构 START###

# 定义起始输入:在指定的-1到1的间隔内返回300个均匀间隔的1行300列的数组,再将数组转化为1列300行的矩阵
#   例如:
#   x1 = np.array([1, 2, 3, 4, 5])
#   #   the shape of x1 is (5,)
#   x1_new = x1[:, np.newaxis]
#   #   now, the shape of x1_new is (5, 1)
#   array([[1],
#          [2],
#          [3],
#          [4],
#          [5]])
#   x1_new = x1[np.newaxis,:]
#   #   now, the shape of x1_new is (1, 5)
#   array([[1, 2, 3, 4, 5]])

x_data=np.linspace(-1,1,300)[:,np.newaxis]

# 定义噪点 :使用高斯分布的概率密度函数定义一个均值为0,标准差为0.05的高斯随机数,个数为x_data的矩阵元素数
noise =np.random.normal(0,0.05,x_data.shape)

# 定义起始输出:x_data的平方减去0.5,再加上噪点
y_data=np.square(x_data)-0.5+noise

# 定义运行时参数变量
xs=tf.placeholder(tf.float32,[None,1])
ys=tf.placeholder(tf.float32,[None,1])

### 定义神经网络结构    START###

# 定义隐藏层神经网络层layer01
layer01=add_layer(xs,1,10,activation_function=tf.nn.relu)
# 定义隐藏层神经网络层layer02
layer02=add_layer(layer01,10,10,activation_function=tf.nn.sigmoid)
# 定义预测输出层 prediction
prediction =add_layer(layer02,10,1,activation_function=None)
# 计算损失
# 1.计算起始输出与预测输出的偏差的平方
loss_square=tf.square(y_data - prediction)
# 2.计算一个张量的各个维度上元素的总和.
reduce_sum_square=tf.reduce_sum(loss_square,reduction_indices=[1])
# 3.计算损失:张量的各个维度上的元素的平均值
loss=tf.reduce_mean(reduce_sum_square)

#使用梯度下降算法训练所有样本
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
# 定义初始化变量
init=tf.initialize_all_variables()
# 创建会话
sess=tf.Session()
# 运行初始化变量指针
sess.run(init)

### 定义神经网络结构    END###

###定义变量结构  END###

for i in range(2000):
    sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
    if i%50==0:
        print(sess.run(loss,feed_dict={xs:x_data,ys:y_data}))

输出结果:

> Executing task: python d:\Work\002_WorkSpace\VSCode\Tensorflow\cnn.py <

WARNING:tensorflow:From C:\Program Files\Python\Python37\lib\site-packages\tensorflow\python\framework\op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
WARNING:tensorflow:From C:\Program Files\Python\Python37\lib\site-packages\tensorflow\python\ops\math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
WARNING:tensorflow:From C:\Program Files\Python\Python37\lib\site-packages\tensorflow\python\util\tf_should_use.py:193: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.
Instructions for updating:
Use `tf.global_variables_initializer` instead.
2019-06-16 18:23:25.445771: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
0.9150444
0.018474927
0.012227052
0.008430008
0.006330067
0.005174632
0.0045147026
0.004099458
0.0037936615
0.0035521714
0.0033668855
0.003235288
0.0031796119
0.003798308
0.011472862
0.011122204
0.0038715526
0.0029777498
0.00284954
0.0028072707
0.0027813027
0.0027617016
0.0027467846
0.0027342557
0.0027231644
0.0027126905
0.0027037202
0.0026956936
0.0026887206
0.0026827992
0.0026773391
0.0026706234
0.0026643125
0.0026575066
0.0026512532
0.00264405
0.0026368005
0.0026302505
0.0026243015
0.0026188325

Terminal will be reused by tasks, press any key to close it.

原文地址:https://www.cnblogs.com/Areas/p/11032577.html

时间: 2024-11-09 03:04:56

[Tensorflow]激励函数tf.nn.relu样例的相关文章

TF-激活函数 tf.nn.relu 介绍

tf.nn.relu(features, name = None) 这个函数的作用是计算激活函数 relu,即 max(features, 0).即将矩阵中每行的非最大值置0. import tensorflow as tf a = tf.constant([-1.0, 2.0]) with tf.Session() as sess: b = tf.nn.relu(a) print sess.run(b) 以上程序输出的结果是:[0. 2.] 原文地址:https://www.cnblogs.c

【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法

在计算loss的时候,最常见的一句话就是 tf.nn.softmax_cross_entropy_with_logits ,那么它到底是怎么做的呢? 首先明确一点,loss是代价值,也就是我们要最小化的值 tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None) 除去name参数用以指定该操作的name,与方法有关的一共两个参数: 第一个参数logits:就是神经网络最后一层的输出,如果有batch的话,它的大小就是[b

TensorFlow之tf.nn.dropout():防止模型训练过程中的过拟合问题

一:适用范围: tf.nn.dropout是TensorFlow里面为了防止或减轻过拟合而使用的函数,它一般用在全连接层 二:原理: dropout就是在不同的训练过程中随机扔掉一部分神经元.也就是让某个神经元的激活值以一定的概率p,让其停止工作,这次训练过程中不更新权值,也不参加神经网络的计算.但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了 三:函数介绍: tf.nn.drop(x,  keep_prob, noise_shape=None, seed=Non

1个TensorFlow样例,终于明白如何实现前向传播过程?

神经网络的结构,就是不同神经元间的连接结构 –图示了一个三层全连接神经网络. 神经元结构的输出,是所有输入的加权.加上偏置项,再经过一个激活(传递)函数得到. 全连接神经网络 全连接神经网络,就是相邻两层之间,任意两个节点之间都有连接. –这也是其与后面介绍的卷积层.LSTM结构的区分. –除了输入层,所有节点都代表了一个神经元的结构. 计算神经网络的前向传播结果,要三部分信息. –第一个部分是神经网络的输入,这个输入就是从实体中提取的特征向量. –第二个部分为神经网络的连接结构.神经网络是由神

TensorFlow 从入门到精通(八):TensorFlow tf.nn.conv2d 一路追查

读者可能还记得本系列博客(二)和(六)中 tf.nn 模块,其中最关心的是 conv2d 这个函数. 首先将博客(二) MNIST 例程中 convolutional.py 关键源码列出: def model(data, train=False): """The Model definition.""" # 2D convolution, with 'SAME' padding (i.e. the output feature map has #

深度学习原理与框架-CNN在文本分类的应用 1.tf.nn.embedding_lookup(根据索引数据从数据中取出数据) 2.saver.restore(加载sess参数)

1. tf.nn.embedding_lookup(W, X) W的维度为[len(vocabulary_list), 128], X的维度为[?, 8],组合后的维度为[?, 8, 128] 代码说明一下:即根据每一行X中的一个数,从W中取出对应行的128个数据,比如X[1, 3]个数据是3062,即从W中的第3062行取出128个数据 import numpy as np import tensorflow as tf data = np.array([[2, 1], [3, 4], [5,

tf.nn的conv2d卷积与max_pool池化

tf.nn.conv2d(value,filter,strides,[...]) 对于图片来说 value :   形状通常是np.array()类型的4维数组也称tensor(张量),  (batch,height,width,channels) 可以理解为(图片样本的个数,高,宽,图片的颜色通道数) value是待卷积的数据 filter: 卷积核 -4元素元组[height,width,in_channels,out_channels],前面的3个参数和value的后面3个参数一一对应.但

吴裕雄 python 神经网络——TensorFlow TFRecord样例程序

import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # 定义函数转化变量类型. def _int64_feature(value): return tf.train.Feature(int64_list=tf.train.Int64List(value=[value])) def _bytes_feature(value): return tf.

TensorFlow官方样例

一.PTB模型 RNN 模型作为一个可以学习时间序列的模型被认为是深度学习中比较重要的一类模型.在Tensorflow的官方教程中,有两个与之相关的模型被实现出来.第一个模型是围绕着Zaremba的论文Recurrent Neural Network Regularization,以Tensorflow框架为载体进行的实验再现工作.第二个模型则是较为实用的英语法语翻译器.在这篇博客里,我会主要针对第一个模型的代码进行解析.在之后的随笔里我会进而解析英语法语翻译器的机能. 论文以及Tensorfl