TensorFlow采用数据流图(data flow graphs)数据以张量形式
流程:
1、创建图
2、数据代入
3、按照方向执行
4、结果输出

处理不同的问题构建的图不一样
依照有无闭环分为有向无环图和有向有环图
先进行安装:pip install tensorflow==版本
不同的版本适配不同的python版本
创建图:

import tensorflow as tf
# 创建数据流图
graph = tf.Graph()
with graph.as_default():# 向图中加入具体操作——OPvar = tf.Variable(42,name='foo')    # 创建变量init = tf.global_variables_initializer()    # 变量初始化assgin = var.assign(13)     # 赋值
with tf.Session(graph=graph) as sess:   # 指定打开图创建会话sess.run(init)  # 图中如有变量,一定先执行变量初始化sess.run(assgin)    # 执行赋值OPprint(sess.run(var))

此处输出13

乘法:

a = tf.Variable(0, name='a')  # 常量
b = tf.constant(1)  # 变量
# 矩阵相加
value = tf.add(a, b)
# 结果赋值给a
updataop = tf.assign(a, value)
# 初始化变量
init = tf.global_variables_initializer()
with tf.Session() as sess:sess.run(init)print("变量——————————", sess.run(updataop))# 定义占位符
input1 = tf.placeholder(np.float32)
input2 = tf.placeholder(np.float32)
# 矩阵乘法
out_value = tf.multiply(input1, input2)
with tf.Session() as sess:print("乘法————————", sess.run(out_value, feed_dict={input1: [4, 5], input2: [7, 8]}))

1~100的加法
思路:
1、int i=0
2、int sum=0
3、i+1 add
4、i=i+1 assign
5、sum+i add
6、sum=sum+i assign

# 创建变量
star_var = tf.Variable(0, name='i')
sum_var = tf.Variable(0, name='sum')
# 创建常量
b = tf.constant(1)
# 实现加法
updata_op = tf.add(star_var, b)
sum_op = tf.add(sum_var, updata_op)
# 初始化变量
init = tf.global_variables_initializer()
# 赋值
assign_up = tf.assign(star_var, updata_op)
assign_sum = tf.assign(sum_var, sum_op)
# 创建张量
# tensor = tf.ones((2,2),dtype=tf.float32)
with tf.Session() as sess:sess.run(init)for i in range(100):# i=i+1sess.run(assign_sum)# sum=sum+isess.run(assign_up)# i+1sess.run(updata_op)# sum+isess.run(sum_op)print(sess.run(assign_sum))

求方程:y=1/1+e^-(w*x+b)

# 创建占位符     x输入的数据
x = tf.placeholder(np.float32)
y = tf.placeholder(np.float32)
# 创建变量
w = tf.Variable(tf.random_normal([1],name='weight'))
b = tf.Variable(tf.random_normal([1],name='bias'))
# OP准备
y_predict = tf.sigmoid(tf.add(tf.multiply(x,w),b))# 构建损失函数
num_sample = 400  # 数据样本
# 误差函数  求误差   |y-y1|  (y-Y1)^2
cost = tf.reduce_sum(tf.pow(y_predict-y,2.0))/num_sample# 梯度下降算法  误差最小
Optimizer = tf.train.AdamOptimizer().minimize(cost)# 创建数据  测试
xs = np.linspace(-5,5,num_sample)
ys = np.sign(xs)    # 保证数据在-1~1之间init = tf.global_variables_initializer()
num_train = 500
cost_pre = 0
with tf.Session() as sess:sess.run(init)# 解方程for i in range(num_train):# 从xs ys取出准备数据,喂Optimizer,存到占位符for xa,ya in zip(xs,ys):sess.run(Optimizer,feed_dict={x:xa,y:ya})train_cost = sess.run(cost,feed_dict={x:xa,y:ya})if np.abs(train_cost-cost_pre)<1e-5:breakcost_pre = train_costprint('w is',sess.run(w,feed_dict={x:xa,y:ya}))print('b is', sess.run(b, feed_dict={x: xa, y: ya}))

结果:

解函数y=ax+b初始化a=0.3,b=0.5

# y=ax+b
x_data = np.random.randn(100).astype(np.float32)
y_data = x_data*0.3+0.5
# 后期运行填充数据——占位符
x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)
w = tf.Variable(tf.random_normal([1],name='weight'))
b = tf.Variable(tf.random_normal([1],name='bias'))
y_predict = tf.add(tf.multiply(x,w),b)
cost = tf.reduce_mean(tf.square(y-y_predict))
Optimizer = tf.train.AdamOptimizer().minimize(cost)
init = tf.global_variables_initializer()
cost_num = []
cost_pre = 0
with tf.Session() as sess:        #  使用默认图 sess.run(init)for step in range(500):for xa,ya in zip(x_data,y_data):sess.run(Optimizer, feed_dict={x: xa, y: ya})train_cost = sess.run(cost, feed_dict={x: xa, y: ya})cost_num.append(train_cost)if np.abs(train_cost-cost_pre)<1e-6:breakcost_pre = train_costprint('w is',sess.run(w,feed_dict={x:xa,y:ya}))print('b is', sess.run(b, feed_dict={x: xa, y: ya}))# 画图
plt.plot(range(len(cost_num)),cost_num,'blue')
plt.title("y=ax+b")
plt.xlabel=("epoch")
plt.ylabel=("cost")
plt.show()

python:机器学习(五):(TensorFlow)相关推荐

  1. 福利 | Python、深度学习、机器学习、TensorFlow 好书推荐

    在上次的送书活动中,营长做了个调查问卷,结果显示大家更喜欢深度学习.Python以及TensorFlow方面的书,所以这期送书活动一并满足大家.本期图书选自人民邮电出版社图书,包括:近期AI圈儿比较流 ...

  2. 元旦福利 | Python、机器学习、TensorFlow 图书送一波

    随着人工智能的升温,大家越来越关注这门最接近AI的编程语言,关于Python的消息也是接连不断.比如浙江省信息技术课程改革方案出台,Python 确定进入浙江省信息技术高考,从2018年起浙江省信息技 ...

  3. 免费教材丨第55期:Python机器学习实践指南、Tensorflow 实战Google深度学习框架

    小编说  时间过的好快啊,小伙伴们是不是都快进入寒假啦?但是学习可不要落下哦!  本期教材  本期为大家发放的教材为:<Python机器学习实践指南>.<Tensorflow 实战G ...

  4. [转]在C#中像Python一样编写TensorFlow机器学习代码

    机器学习是一个令人激动人心的领域,一直有新的技术突破.研究人员不断推动机器智能的提升,教机器如何听说读写--这些曾经是我们人类专属的技能.机器学习的首选语言是Python,最受欢迎的库是Google的 ...

  5. 大数据基石python学习_资源 | 177G Python/机器学习/深度学习/算法/TensorFlow等视频,涵盖入门/中级/项目各阶段!...

    原标题:资源 | 177G Python/机器学习/深度学习/算法/TensorFlow等视频,涵盖入门/中级/项目各阶段! 这是一份比较全面的视频教程,基本上包括了市面上所有关于机器学习,统计学习, ...

  6. PCA主成分分析算法专题【Python机器学习系列(十五)】

    PCA主成分分析算法专题[Python机器学习系列(十五)] 文章目录 1. PCA简介 2. python 实现 鸢尾花数据集PCA降维 3. sklearn库实现 鸢尾花数据集PCA降维案例    ...

  7. sklearn实现一元线性回归 【Python机器学习系列(五)】

    sklearn实现一元线性回归 [Python机器学习系列(五)] 文章目录 1.获取数据 2.线性回归模型 大家好,我是侯小啾!  本期blog分享的内容是通过sklearn库实现一元线性回归.相比 ...

  8. python机器学习-sklearn挖掘乳腺癌细胞(五)

    python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...

  9. 只需十四步:从零开始掌握 Python 机器学习(附资源)

    分享一篇来自机器之心的文章.关于机器学习的起步,讲的还是很清楚的.原文链接在:只需十四步:从零开始掌握Python机器学习(附资源) Python 可以说是现在最流行的机器学习语言,而且你也能在网上找 ...

  10. 从零开始掌握Python机器学习(附资源)

    从零开始掌握Python机器学习(附资源) 机器之心 2017-03-14 14:29 选自kdnuggets 作者:Matthew Mayo Python 可以说是现在最流行的机器学习语言,而且你也 ...

最新文章

  1. Silverlight Blend动画设计系列四:倾斜动画(SkewTransform)
  2. 数据结构与算法-二叉树(java描述)
  3. java只有高跟很高_女明星们为了合影不输,练就踩高跷本领,鞋跟一个比一个高!...
  4. tf报错之raise TypeError(“pred must not be a Python bool“)
  5. 消息中间件NetMQ结合Protobuf简介
  6. java union pay 代码_Java标记了union / sum类型
  7. 计算机在娱乐中的应用有哪些,多媒体技术在娱乐方面的应用
  8. Python中list(列表)、tuple(元组)、dict(字典)的基本操作快速入门
  9. 微信python课_微信课程提醒助手———python
  10. 一个男人具备什么样的条件,才能结婚?
  11. 安卓应用_接入 微信支付 无法调起支付界面的坑
  12. 缓和曲线计算机编程,缓和曲线坐标计算软件
  13. 音乐源码重新上传了,请童鞋们自行下载
  14. 多商户商城系统功能拆解23讲-平台端分销等级
  15. Windows之外的天空 非主流操作系统Top10
  16. 关于微信公众平台本地测试ip如何加入IP白名单
  17. 如何在HTML中修改网站标题和图标?
  18. I.MX6 Linux mipi配置数据合成
  19. JavaScript实现H5游戏断线自动重连的技术
  20. Go Flag包使用及解析

热门文章

  1. 企业微信回调实现(java)
  2. python数据分析师书籍_做数据分析不得不看的书有哪些?
  3. Sass 变量 $var、@import与Partials
  4. 【Labview】基于Labview的BMI计算器
  5. 谷歌商店上架APP被拒绝
  6. 根据图片颜色显示背景色
  7. 亚马逊运营爆款产品技巧-跨境知道
  8. BCIduino整理|solidworks从“小白”到“比较精通”教程
  9. 使用windows命令行 启动WeGame
  10. 基于springboot小型命题系统毕业设计源码011508