python:机器学习(五):(TensorFlow)
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)相关推荐
- 福利 | Python、深度学习、机器学习、TensorFlow 好书推荐
在上次的送书活动中,营长做了个调查问卷,结果显示大家更喜欢深度学习.Python以及TensorFlow方面的书,所以这期送书活动一并满足大家.本期图书选自人民邮电出版社图书,包括:近期AI圈儿比较流 ...
- 元旦福利 | Python、机器学习、TensorFlow 图书送一波
随着人工智能的升温,大家越来越关注这门最接近AI的编程语言,关于Python的消息也是接连不断.比如浙江省信息技术课程改革方案出台,Python 确定进入浙江省信息技术高考,从2018年起浙江省信息技 ...
- 免费教材丨第55期:Python机器学习实践指南、Tensorflow 实战Google深度学习框架
小编说 时间过的好快啊,小伙伴们是不是都快进入寒假啦?但是学习可不要落下哦! 本期教材 本期为大家发放的教材为:<Python机器学习实践指南>.<Tensorflow 实战G ...
- [转]在C#中像Python一样编写TensorFlow机器学习代码
机器学习是一个令人激动人心的领域,一直有新的技术突破.研究人员不断推动机器智能的提升,教机器如何听说读写--这些曾经是我们人类专属的技能.机器学习的首选语言是Python,最受欢迎的库是Google的 ...
- 大数据基石python学习_资源 | 177G Python/机器学习/深度学习/算法/TensorFlow等视频,涵盖入门/中级/项目各阶段!...
原标题:资源 | 177G Python/机器学习/深度学习/算法/TensorFlow等视频,涵盖入门/中级/项目各阶段! 这是一份比较全面的视频教程,基本上包括了市面上所有关于机器学习,统计学习, ...
- PCA主成分分析算法专题【Python机器学习系列(十五)】
PCA主成分分析算法专题[Python机器学习系列(十五)] 文章目录 1. PCA简介 2. python 实现 鸢尾花数据集PCA降维 3. sklearn库实现 鸢尾花数据集PCA降维案例 ...
- sklearn实现一元线性回归 【Python机器学习系列(五)】
sklearn实现一元线性回归 [Python机器学习系列(五)] 文章目录 1.获取数据 2.线性回归模型 大家好,我是侯小啾! 本期blog分享的内容是通过sklearn库实现一元线性回归.相比 ...
- python机器学习-sklearn挖掘乳腺癌细胞(五)
python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...
- 只需十四步:从零开始掌握 Python 机器学习(附资源)
分享一篇来自机器之心的文章.关于机器学习的起步,讲的还是很清楚的.原文链接在:只需十四步:从零开始掌握Python机器学习(附资源) Python 可以说是现在最流行的机器学习语言,而且你也能在网上找 ...
- 从零开始掌握Python机器学习(附资源)
从零开始掌握Python机器学习(附资源) 机器之心 2017-03-14 14:29 选自kdnuggets 作者:Matthew Mayo Python 可以说是现在最流行的机器学习语言,而且你也 ...
最新文章
- Silverlight Blend动画设计系列四:倾斜动画(SkewTransform)
- 数据结构与算法-二叉树(java描述)
- java只有高跟很高_女明星们为了合影不输,练就踩高跷本领,鞋跟一个比一个高!...
- tf报错之raise TypeError(“pred must not be a Python bool“)
- 消息中间件NetMQ结合Protobuf简介
- java union pay 代码_Java标记了union / sum类型
- 计算机在娱乐中的应用有哪些,多媒体技术在娱乐方面的应用
- Python中list(列表)、tuple(元组)、dict(字典)的基本操作快速入门
- 微信python课_微信课程提醒助手———python
- 一个男人具备什么样的条件,才能结婚?
- 安卓应用_接入 微信支付 无法调起支付界面的坑
- 缓和曲线计算机编程,缓和曲线坐标计算软件
- 音乐源码重新上传了,请童鞋们自行下载
- 多商户商城系统功能拆解23讲-平台端分销等级
- Windows之外的天空 非主流操作系统Top10
- 关于微信公众平台本地测试ip如何加入IP白名单
- 如何在HTML中修改网站标题和图标?
- I.MX6 Linux mipi配置数据合成
- JavaScript实现H5游戏断线自动重连的技术
- Go Flag包使用及解析