完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Tensorflow是Google开源的深度学习框架,来自于Google Brain研究项目,在Google第一代分布式机器学习框架DistBelief的基础上发展起来。Tensorflow于2015年11月在GitHub上开源,在2016年4月补充了分布式版本,最新版本为1.10,2018年下半年将发布Tensorflow 2.0预览版。Tensorflow目前仍处于快速开发迭代中,不断推出新功能和优化性能,现已成为当今世界上最受欢迎的开源机器学习框架,是学习研究AI的必备神器。
|
|
相关推荐
5个回答
|
|
Tensorflow是什么?
Tensorflow是当前最流行的深度学习框架,它既是一个实现深度学习算法的接口,也是执行深度学习算法的框架。Tensorflow前端支持Python、C++、Java、Go等语言,后端使用C++、CUDA等写成,可在众多系统上运行,包括Windows、Mac、Linux、Android、IOS等。 Tensorflow的官方网址为 http://www.tensorflow.org Tensorflow的GitHub网址为 https://github.com/tensorflow/tensorflow |
|
|
|
Tensorflow的特征
高度的灵活性 TensorFlow 不是一个严格的“神经网络”库。只要你可以将你的计算表示为一个数据流图,你就可以使用Tensorflow。你来构建图,描写驱动计算的内部循环。我们提供了有用的工具来帮助你组装“子图”(常用于神经网络),当然用户也可以自己在Tensorflow基础上写自己的“上层库”。定义顺手好用的新复合操作和写一个python函数一样容易,而且也不用担心性能损耗。当然万一你发现找不到想要的底层数据操作,你也可以自己写一点c++代码来丰富底层的操作。 真正的可移植性(Portability) Tensorflow 在CPU和GPU上运行,比如说可以运行在台式机、服务器、手机移动设备等等。想要在没有特殊硬件的前提下,在你的笔记本上跑一下机器学习的新想法?Tensorflow可以办到这点。准备将你的训练模型在多个CPU上规模化运算,又不想修改代码?Tensorflow可以办到这点。想要将你的训练好的模型作为产品的一部分用到手机app里?Tensorflow可以办到这点。你改变主意了,想要将你的模型作为云端服务运行在自己的服务器上,或者运行在Docker容器里?Tensorfow也能办到 多语言支持 Tensorflow 有一个合理的c++使用界面,也有一个易用的python使用界面来构建和执行你的graphs。你可以直接写python/c++程序,也可以用交互式的ipython界面来用Tensorflow尝试些想法,它可以帮你将笔记、代码、可视化等有条理地归置好。当然这仅仅是个起点——我们希望能鼓励你创造自己最喜欢的语言界面,比如Go,Java,Lua,Javascript,或者是R 性能最优化 比如说你又一个32个CPU内核、4个GPU显卡的工作站,想要将你工作站的计算潜能全发挥出来?由于Tensorflow 给予了线程、队列、异步操作等以最佳的支持,Tensorflow 让你可以将你手边硬件的计算潜能全部发挥出来。你可以自由地将Tensorflow图中的计算元素分配到不同设备上,Tensorflow可以帮你管理好这些不同副本。 |
|
|
|
下载以及安装
选择类型 必须选择以下类型的TensorFlow之一来安装: TensorFlow仅支持CPU支持。如果您的系统没有NVIDIA®GPU,则必须安装此版本。请注意,此版本的TensorFlow通常会更容易安装(通常在5或10分钟内),因此即使您有NVIDIA GPU,我们建议先安装此版本。 TensorFlow支持GPU。TensorFlow程序通常在GPU上比在CPU上运行得更快。因此,如果您的系统具有满足以下所示先决条件的NVIDIA®GPU,并且您需要运行性能关键型应用程序,则应最终安装此版本。 Ubuntu和Linux 如果要安装GPU版本的,需要安装一大堆NVIDIA软件(不推荐): CUDA®Toolkit 8.0。有关详细信息,请参阅 NVIDIA的文档。确保您将相关的Cuda路径名附加到 LD_LIBRARY_PATH环境变量中,如NVIDIA文档中所述。与CUDA Toolkit 8.0相关的NVIDIA驱动程序。 cuDNN v5.1。有关详细信息,请参阅 NVIDIA的文档。确保CUDA_HOME按照NVIDIA文档中的描述创建环境变量。 具有CUDA Compute Capability 3.0或更高版本的GPU卡。有关支持的GPU卡的列表,请参阅 NVIDIA文档。 libcupti-dev库,即NVIDIA CUDA Profile Tools界面。此库提供高级分析支持。要安装此库,请发出以下命令: 使用pip安装,分别有2.7和3.6版本的 # 仅使用 CPU 的版本$ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp27-none-linux_x86_64.whl $ pip3 install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp36-cp36m-linux_x86_64.whl Mac macX下也可以安装2.7和3.4、3.5的CPU版本 # 2.7$ pip install https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.0.1-py2-none-any.whl # 3.4、3.5$ pip3 install https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.0.1-py3-none-any.whl |
|
|
|
HelloWorld
程序员从“HelloWorld”开始。在安装好Tensorflow之后,写个HelloWorld试试安装是否成功。代码如下: importtensorflowastf hello=tf.constant(‘Hello,TensorFlow!’) sess=tf.Session() print(sess.run(hello)) 如果成功输出“Hello,TensorFlow!”,则表明TensorFlow安装成功。 从这个HelloWorld代码可以看出,(1)要使用tensorflow,先要导入tensorflow库,使用importtensorflow导入,一般会简写为tf(2)要执行tensorflow,先要创建Session(会话)。Session是用户使用tensorflow时的交互接口,用以创建计算图,然后通过Session的run方法执行计算图。 |
|
|
|
学会基本操作TensorFlow的数据流图由节点(Nodes)和边(Edges)组成,下面从节点(操作)和边(张量)来介绍TensorFlow的基本操作。(1)张量张量是TensorFlow的主要数据结构,用于操作计算图。一个张量(Tensor)可以简单地理解为任意维的数组,张量的秩表示其维度数量。张量的秩不同,名称也不相同。a、标量:维度为0的Tensor,也就是一个实数b、向量:维度为1的Tensorc、矩阵:维度为2的Tensord、张量:维度达到及超过3的Tensor
创建张量有以下主要4种方法:a、创建固定张量创建常数张量:constant_ts=tf.constant([1,2,3,4,5]) 创建零张量:zero_ts=tf.zeros([row_dim,col_dim]) 创建单位张量:ones_ts=tf.ones([row_dim,col_dim]) 创建张量,并用常数填充:filled_ts=tf.fill([row_dim,col_dim],123) b、创建相似形状张量创建相似的零张量:zeros_like=tf.zeros_like(constant_ts) 创建相似的单位张量:ones_like=tf.ones_like(constant_ts) c、创建序列张量指定起止范围linear_ts=tf.linspace(start=0,stop=2,num=6)结果返回[0.0,0.4,0.8,1.2,1.6,2.0],注意该结果包括stop值 指定增量seq_ts=tf.range(start=4,limit=16,delta=4)结果返回[4,8,12],注意该结果不包括stop值 d、随机张量生成均匀分布的随机数randunif_ts=tf.random_uniform([row_dim,col_dim],minval=0,maxval=1)结果返回从minval(包含)到maxval(不包含)的均匀分布的随机数 生成正态分布的随机数randnorm_ts=tf.random_normal([row_dim,col_dim],mean=0.0,stddev=1.0)其中mean表示平均值,stddev表示标准差 (2)占位符和变量占位符和变量是使用TensorFlow计算图的关键工具,两者是有区别的a、变量:是TensorFlow算法中的参数,通过调整这些变量的状态来优化模型算法;b、占位符:是TensorFlow对象,用于表示输入输出数据的格式,允许传入指定类型和形状的数据。 创建变量通过tf.Variable()函数封装张量来创建变量,例如:my_var=tf.Variable(tf.zeros([row_dim,col_dim])) 【注意】声明变量后需要进行初始化才能使用,最常使用以下函数一次性初始化所有变量,使用方式如下:init_op=tf.global_variables_initializer() 创建占位符占位符仅仅是声明数据位置,也即先占个位,后面在会话中通过feed_dict传入具体的数据。示例代码如下: a=tf.placeholder(tf.float32,shape=[1,2]) b=tf.placeholder(tf.float32,shape=[1,2]) adder_node=a+b #这里的“+”是tf.add(a,b)的简洁表达 print(sess.run(adder_node,feed_dict={a:[2,4],b:[5.2,8]})) 输出结果为[7.212] (3)操作TensorFlow张量的加、减、乘、除、取模的基本操作是:add()、sub()、mul()、div()、mod()。例如: a=tf.placeholder(tf.float32,shape=[1,2]) b=tf.placeholder(tf.float32,shape=[1,2]) adder_node=tf.add(a,b) print(sess.run(adder_node,feed_dict={a:[2,4],b:[5.2,8]})) 输出结果为[7.212] 其中,乘法、除法有比较特殊之处,如果是要对浮点数进行整除,则使用floordiv();如果是要计算两个张量间的点积,则使用cross()。下面列出常用的数学函数列表: |
|
|
|
只有小组成员才能发言,加入小组>>
【爱芯派 Pro 开发板试用体验】人体姿态估计模型部署后期尝试
1530 浏览 0 评论
1027 浏览 0 评论
【爱芯派 Pro 开发板试用体验】人体姿态估计模型部署后期尝试
1092 浏览 0 评论
【爱芯派 Pro 开发板试用体验】在爱芯派 Pro上部署坐姿检测
1073 浏览 0 评论
【爱芯派 Pro 开发板试用体验】利用爱芯派 Pro部署USB摄像头
1215 浏览 0 评论
【爱芯派 Pro 开发板试用体验】爱芯元智AX650N部署yolov5s 自定义模型
710浏览 1评论
1728浏览 1评论
【爱芯派 Pro 开发板试用体验】+ 利用TF卡进行系统更新
1387浏览 1评论
1340浏览 1评论
727浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 18:10 , Processed in 0.701678 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号