Tensorflow

TensorFlow 是谷歌开源的机器学习框架,相对于其它现有框架来说,其具有比较好的扩展性,但是也牺牲了它的速度。

下面介绍Tensorflow 的基本使用:

1, tensorflow 基本操作:

import tensorflow as tf
import numpy as np
  • 1
  • 2

乘法:

a = tf.placeholder("float") # 创建符号变量
b = tf.placeholder("float") y = tf.mul(a, b) # 乘法操作,作用在符号变量上。sess = tf.Session() # 创建会话,计算符号变量表达式a1 = 4
b1 = 5
print "%f + %f = %f"%(4, 5,  sess.run(y, feed_dict={a: a1, b: b1})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

线性回归

模型:

Y=W∗X+b
# 生成训练数据 + 噪声,下面为了拟合 $$ Y = 2X $$
trX = np.linspace(-1, 1, 101)
trY = 2 * trX + np.random.randn(*trX.shape) * 0.33 # y=2x,但是加入了噪声X = tf.placeholder("float") #输入输出符号变量
Y = tf.placeholder("float")# 定义模型
def model(X, w):return tf.mul(X, w) # 线性回归只需要调用乘法操作即可。# 模型权重 W 用变量表示
w = tf.Variable(0.0, name="weights") # 共享变量
y_model = model(X, w)# 定义损失函数
cost = (tf.pow(Y-y_model, 2)) # 平方损失函数# 构建优化器,最小化损失函数。
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(cost) # 构建会话
sess = tf.Session()# 初始化所有的符号共享变量
init = tf.initialize_all_variables() # 运行会话
sess.run(init)# 迭代训练
for i in range(100):for (x, y) in zip(trX, trY): sess.run(train_op, feed_dict={X: x, Y: y})
# 打印权重w
print(sess.run(w))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

逻辑回归

模型:

y=sigmoid(X∗W+b)
# 初始化权重w
def init_weights(shape):return tf.Variable(tf.random_normal(shape, stddev=0.01))# 定义模型
def model(X, w):return tf.matmul(X, w) # 获取mnist 数据
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
trX, trY, teX, teY = mnist.train.images, mnist.train.labels, mnist.test.images, mnist.test.labels# 定义占位符变量
X = tf.placeholder("float", [None, 784])
Y = tf.placeholder("float", [None, 10])w = init_weights([784, 10])
py_x = model(X, w)# 定义损失函数,交叉熵损失函数
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(py_x, Y)) # 训练操作,最小化损失函数
train_op = tf.train.GradientDescentOptimizer(0.05).minimize(cost) # 预测操作,
predict_op = tf.argmax(py_x, 1) # 定义会话
sess = tf.Session()
init = tf.initialize_all_variables()
sess.run(init)# 调用多次梯度下降
for i in range(100):# 训练,每个batch,for start, end in zip(range(0, len(trX), 128), range(128, len(trX), 128)):sess.run(train_op, feed_dict={X: trX[start:end], Y: trY[start:end]})# 测试,每个epochprint i, np.mean(np.argmax(teY, axis=1) ==sess.run(predict_op, feed_dict={X: teX, Y: teY}))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

参考:
Tensorflow基本教程[https://github.com/nlintz/TensorFlow-Tutorials]

【机器学习】Tensorflow基本使用相关推荐

  1. 机器学习Tensorflow基于MNIST数据集识别自己的手写数字(读取和测试自己的模型)

    机器学习Tensorflow基于MNIST数据集识别自己的手写数字(读取和测试自己的模型)

  2. 吴恩达机器学习tensorflow问题

    吴恩达机器学习tensorflow问题 module tensorflow has no attribute autograph No module named tensorflow.keras 等问 ...

  3. 机器学习 tensorflow 2 的安装

    本文介绍tensorflow 2 在windows (windows 10) 下的安装.2种安装方法,安装成功的验证过程. 方法1:直接python 网站下载的python 我本来安装有python3 ...

  4. linearregression_机器学习-TensorFlow建模过程 Linear Regression线性拟合应用

    TensorFlow是咱们机器学习领域非常常用的一个组件,它在数据处理,模型建立,模型验证等等关于机器学习方面的领域都有很好的表现,前面的一节我已经简单介绍了一下TensorFlow里面基础的数据结构 ...

  5. 机器学习Tensorflow基础知识、张量与变量

    TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组, ...

  6. 人工智能python3+tensorflow人脸识别_机器学习tensorflow object detection 实现人脸识别...

    object detection是Tensorflow很常用的api,功能强大,很有想象空间,人脸识别,花草识别,物品识别等.下面是我做实验的全过程,使用自己收集的胡歌图片,实现人脸识别,找出胡歌. ...

  7. 机器学习-tensorflow

    为什么80%的码农都做不了架构师?>>>    例子1 先从helloworld开始: t@ubuntu:~$ python Python 2.7.6 (default, Oct 2 ...

  8. 机器学习Tensorflow基本操作:线程队列图像

    一.线程和队列 在使用TensorFlow进行异步计算时,队列是一种强大的机制. 为了感受一下队列,让我们来看一个简单的例子.我们先创建一个"先入先出"的队列(FIFOQueue) ...

  9. 推出 TensorFlow 中文视频:机器学习从零到一,Google官方发布视频,有美女主持,美女声音甜美特别好,有B站地址,超级高清看美女费颖教你学机器学习TensorFlow,只有码农才懂的。

    关于机器学习地址 https://mp.weixin.qq.com/s/dIt3pv0UPItk4tVVeRsWDQ 美女声音甜美.大家赶紧去学习. 直接通过微信的地址打开视频是没有广告的. http ...

  10. 九、(机器学习)-Tensorflow算法之全连接层

    Tensorflow,cnn,dnn中的全连接层的理解 上一篇我们讲了使用cnn实现cifar10图像分类,模型经过隐藏层中的卷积.归一化.激活.池化之后提取到主要的特征变量,就会到全连接层,那么全连 ...

最新文章

  1. 如何使用python画折线图-Python数据可视化:使用Python画柱状图和折线图
  2. FIneCMS /dayrui/libraries/Chart/ofc_upload_image.php Arbitrary File Upload Vul
  3. Java 创建、填充PDF表单域
  4. 学习面试题Day08
  5. python 简单web音频_Python Twisted web服务器音频fi
  6. 利用html 5 websocket做个山寨版web聊天室(手写C#服务器)
  7. ACM-ICPC 2018 沈阳赛区现场赛 K. Let the Flames Begin (约瑟夫环问题)
  8. Linux如何查找解压文件,linux命令(文件搜索和压缩解压命令)
  9. php exec执行多条命令,小技巧:在PHP中调用多条shell指令
  10. dicom格式怎么转换_qsv怎么转换mp4格式?qsv转mp4的首选工具
  11. 网站前端和后台性能优化22
  12. 面向对象——意图与逻辑(四)
  13. 【阅读理解】机器阅读理解方向有什么值得follow的大佬,网站等等?
  14. 传统网络通信模式、RDMA技术、InfiniBand协议、IB卡(IB交换机)之间的关系?
  15. 可重用性,可维护性,可读性,可测试性,可用性,健壮性
  16. VMware vSphere Hypervisor 7.0 U1 下载(ESXi)
  17. 北京理工计算机科学与应用,沈蒙_北京理工大学计算机学院
  18. js日期格式化(Date format)
  19. r 语言ylim = c(0 1),小白R语言数据可视化进阶练习一
  20. JetBrains开发人员工具

热门文章

  1. 【运维安全】-sqlmap使用
  2. Q:判断链表中是否存在环的相关问题
  3. 试试只用U盘加载Linux系统
  4. Linux: kill
  5. 侯捷畅谈技术人生与读书感悟
  6. Golang 入门系列(十三)用Beego开发web应用
  7. ES6.3 index Sorting测试
  8. eclipse下的mybatis插件:MyBatipse
  9. 20170831_安装软件
  10. 201671010133 2016-2017-2 《java程序设计》 初学java!