莫烦tensorflow教学

1.session会话控制

Tensorflow 中的SessionSession是 Tensorflow 为了控制,和输出文件的执行的语句. 运行session.run() 可以获得你要得知的运算结果, 或者是你所要运算的部分。

我们首先尝试将两个矩阵相乘并输出结果

import tensorflow as tf

# create two matrixes

matrix1 = tf.constant([[3,3]])
matrix2 = tf.constant([[2],
[2]])
product = tf.matmul(matrix1,matrix2)

因为product不是直接计算的步骤,所以我们会使用session来激活码product并得到计算结果。

有两种形式使用会话控制session。

# method 1
sess = tf.Session()
result = sess.run(product)
print(result)
sess.close()
# [[12]] # method 2
with tf.Session() as sess:
result2 = sess.run(product)
print(result2)
# >>[[12]]

2.Variable 变量

看得莫烦的tensorflow课程 讲的很有趣,有兴趣的同学也可以去看看

tensorflow中 只有定义了某字符串是变量,他才是变量,这一点与python不同

定义语法:state = tf.Variable( )

import tensorflow as tf

state = tf.Variable(0, name='counter')

# 定义常量 one
one = tf.constant(1) # 定义加法步骤 (注: 此步并没有直接计算)
new_value = tf.add(state, one) # 将 State 更新成 new_value
update = tf.assign(state, new_value)

定义完变量后,最终要的是初始化!init = tf.initialize-all_variables()

到这里变量还没有激活,需要在sess中 sess.run(init)  激活init这一步

# 如果定义 Variable, 就一定要 initialize
# init = tf.initialize_all_variables() # tf 马上就要废弃这种写法
init = tf.global_variables_initializer() # 替换成这样就好 # 使用 Session
with tf.Session() as sess:
sess.run(init)
for _ in range(3):
sess.run(update)
print(sess.run(state))

注意:直接print(state)是不可以的

应该把sess的指针指向state再进行print才能得到想要的结果!

3.Placeholder 传入值

placeholder是tensorflow中的占位符,暂时存储变量

tensorflow如果想从外部传入数据,那么就需要tf.placehoder(),然后以这种形式传输数据

sess.run(***,feed_dict={input:*****})

#placeholder
import tensorflow as tf input1 = tf.placeholder(tf.float32)
#大部分情况 只能处理float32数据形式
input2 = tf.placeholder(tf.float32) output = tf.multiply(input1,input2) with tf.Session() as sess:
print(sess.run(output,feed_dict={input1:[7],input2:[2]}))

传值工作交给sess.run() ,需要穿的值放在了feed_dict={},并一一对应每个input

4.激励函数Activation Function

激励函数运行时激活神经网络中某一部分神经元,将激活信息向后传入下一层神经系统。

激励函数的实质是非线性方程。tensorflow的神经网络里面处理较为复杂的问题时都会需要运用激励函数

最新文章

  1. MSSQL2005后版本插入数据返回ID的新写法
  2. 游戏BUFF设计
  3. “我爱淘”冲刺阶段Scrum站立会议7
  4. hdu 4286
  5. Live Writer Test
  6. 13 - NSURLConnection
  7. Hibernate_10_继承的例子_单表
  8. centos 安装cacti监控
  9. 《C++ Primer》之重载操作符与转换(中)
  10. python3中的 zip()函数 和python2中的 zip()函数 的区别
  11. [转载]智能科普:VR、AR、MR的区别
  12. 高危Windows系统 SMB/RDP远程命令执行漏洞 手工修复办法
  13. arm cortex-m0plus源码学习(三)GPIO
  14. 用grep 筛选fastq 序列
  15. 【费马小定理+快速幂取模】ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies
  16. 复现ICCV 2017经典论文—PyraNet
  17. 给表格控件DBGrid加上记录序号的列
  18. mysql获取随机数据的方法
  19. effective c++读书笔记(一)
  20. xcode 调试程序 lldb 使用

热门文章

  1. ESP8266—“ICACHE_FLASH_ATTR”宏——解释含义
  2. 【leetcode】1281. Subtract the Product and Sum of Digits of an Integer
  3. vue 项目实战之小坑坑
  4. CDOJ 1135 邱老师看电影 概率dp
  5. [sdoi 2010][bzoj 1925]地精部落(神仙dp)
  6. 【CUDA 基础】3.4 避免分支分化
  7. 2、dubbo基础知识
  8. CentOS7下安装mysql5.1 或升级到5.7 以及小问题的解决方案
  9. fastjson =< 1.2.47 反序列化漏洞浅析
  10. easyui编辑editor