代码:
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.

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

  1. tf.nn.relu

    tf.nn.relu(features, name = None) 这个函数的作用是计算激活函数 relu,即 max(features, 0).即将矩阵中每行的非最大值置0. import tens ...

  2. 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法

    在计算loss的时候,最常见的一句话就是 tf.nn.softmax_cross_entropy_with_logits ,那么它到底是怎么做的呢? 首先明确一点,loss是代价值,也就是我们要最小化 ...

  3. 【TensorFlow】tf.nn.max_pool实现池化操作

    max pooling是CNN当中的最大值池化操作,其实用法和卷积很类似 有些地方可以从卷积去参考[TensorFlow]tf.nn.conv2d是怎样实现卷积的? tf.nn.max_pool(va ...

  4. tensorflow 之tf.nn.depthwise_conv2d and separable_conv2d实现及原理

    Depthwise Separable Convolution 1.简介 Depthwise Separable Convolution 是谷歌公司于2017年的CVPR中在论文”Xception: ...

  5. 【Tensorflow】tf.nn.depthwise_conv2d如何实现深度卷积?

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/mao_xiao_feng/article/ ...

  6. 【Tensorflow】tf.nn.atrous_conv2d如何实现空洞卷积?膨胀卷积

    介绍关于空洞卷积的理论可以查看以下链接,这里我们不详细讲理论: 1.Long J, Shelhamer E, Darrell T, et al. Fully convolutional network ...

  7. tf.nn.relu 激活函数

    tf.nn.relu(features, name = None) 计算校正线性:max(features, 0) 参数: features:一个Tensor.必须是下列类型之一:float32,fl ...

  8. TensorFlow学习---tf.nn.dropout防止过拟合

    一. Dropout原理简述: tf.nn.dropout是TensorFlow里面为了防止或减轻过拟合而使用的函数,它一般用在全连接层. Dropout就是在不同的训练过程中随机扔掉一部分神经元.也 ...

  9. TensorFlow:tf.nn.max_pool实现池化操作

    tf.nn.max_pool(value, ksize, strides, padding, name=None) 参数是四个,和卷积很类似: 第一个参数value:需要池化的输入,一般池化层接在卷积 ...

随机推荐

  1. MangoDB在C#中的使用

    http://blog.sina.com.cn/s/blog_927f3c2401011937.html 图形工具 http://api.mongodb.org/csharp/current/html ...

  2. Metaspace 之二--PermGen vs. Metaspace 运行时比较

    PermGen vs. Metaspace 运行时比较 为了更好地理解Metaspace内存空间的运行时行为, 将进行以下几种场景的测试: 使用JDK1.7运行Java程序,监控并耗尽默认设定的85M ...

  3. Spring MVC 三大组件

    ㈠ HandlerMapping 处理器映射(一般通过扫描包配置) 通过处理器映射,你可以将Web 请求映射到正确的处理器 Controller 上.当接收到请求时,DispactherServlet ...

  4. 8. String to Integer (atoi) ---Leetcode

    Implement atoi to convert a string to an integer. 题目分析: 题目本身很简单就是将一个字符串转化成一个整数,但是由于字符串的千差万别,导致在实现的时候 ...

  5. Git<一> 手工编辑冲突

    一:背景 Neo君之前在写东西时,都是自己负责各自的模块,没有出现代码拉下来冲突的情况.最近Neo君在搞一搞前端的东东,跟同事功能有些冲突,所以就难免会冲突. 所以简单总结下,这次针对的情况是不同的用 ...

  6. JSP页面中如何注入Spring容器中的bean

    第一步在JSP页面中导入下面的包: <%@page import="org.springframework.web.context.support.WebApplicationCont ...

  7. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_14-课程预览功能开发-CMS添加页面接口

    5.3 CMS添加页面接口 cms服务对外提供添加页面接口,实现:如果不存在页面则添加,否则就更新页面信息. 此接口由课程管理服务在课程预览时调用. 接口方法.:页面没有就添加.有了更新数据 之前的接 ...

  8. LeetCode_104. Maximum Depth of Binary Tree

    104. Maximum Depth of Binary Tree Easy Given a binary tree, find its maximum depth. The maximum dept ...

  9. Node.js使用MySQL连接池示例

    下面是一个封装好的工具类: var fs = require('fs'); var mysql = require('mysql'); var pool = mysql.createPool({ ho ...

  10. 十六章 综合实例——《跟我学Shiro》

    目录贴:跟我学Shiro目录贴 简单的实体关系图 简单数据字典 用户(sys_user) 名称 类型 长度 描述 id bigint 编号 主键 username varchar 100 用户名 pa ...