博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TensorFlow-1 入门
阅读量:4147 次
发布时间:2019-05-25

本文共 1884 字,大约阅读时间需要 6 分钟。

将深度学习学了一遍之后,虽然完成了里边的大多数编程题,但是觉得matlab写程序有点low,本着看起来高大上的目的,决定好好钻研一下TensorFlow。TensorFlow的学习中借鉴了不少大牛的东西,如若侵权,请联系本文进行删除。

1. TensorFlow 是什么

是一个库,由 Google 开源,可以对定义在 Tensor(张量)上的函数自动求导。

Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow即为张量从图的一端流动到另一端。

它的一大亮点是支持异构设备分布式计算,它能够在各个平台上自动运行模型,从电话、单个CPU / GPU到成百上千GPU卡组成的分布式系统。

支持CNN、RNN和LSTM算法,是目前在 Image,NLP 最流行的深度神经网络模型。

2. TensorFlow 的优点

第一,基于,写的很快并且具有可读性。

第二,在多GPU系统上的运行更为顺畅。

第三,代码编译效率较高。

第四,社区发展的非常迅速并且活跃。

第五,能够生成显示网络拓扑结构和性能的可视化图。

3. TensorFlow 的安装

因为本人是windows 8.1 64位系统,且电脑上已经安装了python 3.5,所以是在此基础上进行安装的。

  1.升级pip

python.exe -m pip install --upgrade pip
2.下载

从 下载相应的TensorFlow

3.安装

pip install ........whl
4.测试

>>> import tensorflow as tf>>> hello = tf.constant('Hello, TensorFlow!')>>> sess = tf.Session()>>> print(sess.run(hello))Hello, TensorFlow!>>> a = tf.constant(10)>>> b = tf.constant(32)>>> print(sess.run(a + b))42

3. TensorFlow 的使用

1.TensorFlow的使用过程就是 : 建图-》启动图-》运行取值
  • TensorFlow 用图来表示计算任务,图中的节点被称之为operation,缩写成op。
  • 一个节点获得 0 个或者多个张量 tensor,执行计算,产生0个或多个张量。
  • 图必须在会话(Session)里被启动,会话(Session)将图的op分发到CPU或GPU之类的设备上,同时提供执行op的方法,这些方法执行后,将产生的张量(tensor)返回。
         2. TensorFlow中的重要理解点:
  • 将计算流程表示成图;
  • 通过Sessions来执行图计算;
  • 将数据表示为tensors;
  • 使用Variables来保持状态信息;
  • 分别使用feeds和fetches来填充数据和抓取任意的操作结果;
import tensorflow as tfimport numpy as np#Step 1: 建图 建图中的值并没有真正赋值,需要等会话启动通过run()进行赋值# 用NumPy 随机生成100个数据x_data=np.float32(np.random.rand(2,100)) #2行100列随机数 范围[0,1)y_data=np.dot([0.100, 0.200], x_data)+0.300 #矩阵乘法#构造一个线性模型b=tf.Variable(tf.zeros([1]))W=tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))y=tf.matmul(W,x_data)+b#最小化方差loss=tf.reduce_mean(tf.square(y-y_data))optimizer=tf.train.GradientDescentOptimizer(0.5)train=optimizer.minimize(loss)#初始化变量init=tf.initialize_all_variables()#Step 2: 启动图#启动图sess=tf.Session()sess.run(init)#Step3 :运行取值#拟合平面for step in range(0,201):    sess.run(train)    if step % 20 == 0:        print (step, sess.run(W), sess.run(b))

转载地址:http://xmjti.baihongyu.com/

你可能感兴趣的文章
HTML 5 新的表单元素 datalist keygen output
查看>>
(转载)正确理解cookie和session机制原理
查看>>
jQuery ajax - ajax() 方法
查看>>
将有序数组转换为平衡二叉搜索树
查看>>
最长递增子序列
查看>>
从一列数中筛除尽可能少的数,使得从左往右看这些数是从小到大再从大到小...
查看>>
判断一个整数是否是回文数
查看>>
经典shell面试题整理
查看>>
腾讯的一道面试题—不用除法求数字乘积
查看>>
素数算法
查看>>
java多线程环境单例模式实现详解
查看>>
将一个数插入到有序的数列中,插入后的数列仍然有序
查看>>
在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出no found
查看>>
万年历
查看>>
作为码农你希望面试官当场指出你错误么?有面试官这样遭到投诉!
查看>>
好多程序员都认为写ppt是很虚的技能,可事实真的是这样么?
查看>>
如果按照代码行数发薪水会怎样?码农:我能刷到公司破产!
查看>>
程序员失误造成服务停用3小时,只得到半月辞退补偿,发帖喊冤
查看>>
码农:很多人称我“技术”,感觉这是不尊重!纠正无果后果断辞职
查看>>
php程序员看过来,这老外是在吐糟你吗?看看你中了几点!
查看>>