TensorFlow基础和入门案例

这篇具有很好参考价值的文章主要介绍了TensorFlow基础和入门案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TensorFlow简介

TensorFlow是目前主流深度学习框架之一,其库中几乎包含了所有机器学习和深度学习相关的辅助函数和封装类,官方文档如下图所示。在其框架下做各种神经网络算法的开发可以极大减轻工作量,在入门阶段可以不需要深入理解相关优化算法、分布式的底层细节也可以完成对于深度学习神经网络的搭建、训练、评估、测试和部署步骤。TensorFlow最初是由谷歌脑研究组的研究员和工程师们开发出来的,主要用于进行机器学习和深度神经网络方面的研究,后来逐渐发展成为广泛通用的深度学习主流框架之一。
TensorFlow基础和入门案例,tensorflow,人工智能,python

TensorFlow主要采用数据流图规划计算流程、进行数值计算,节点表示数学操作,线表示在节点之间相互传递信息的多维数组;记录多维数组信息量的数据为张量.TensorFlow提供了Python、C++和JavaScript等易于快速开发编程语言的接口,并且还配置有TensorBoard可视化工具。TensorFlow具有灵活的架构,支持在多种平台上进行计算,如CPU,GPU,TPU、云服务器和移动设备,具有灵活、快速和适应性广泛的优越性。

数据流图

数据流图是使用节点(Node)和有向线(Edge)来描述的数学计算,又称计算图。在用TensorFlow进行科学计算时,通常先创建一个计算图,然后将数据载入计算图中进行计算。

  1. 节点:计算图中一般用圆圈、椭圆或方框表示,计算图在TensorBoard可视化中可以形象化地显示出来。节点通常用来表示执行的数学操作,数据输入的起点和数据输出的终点也可以表示为节点。
  2. 线: 计算图中一般用箭头表示线,代表节点和节点之间的信息输入、输出和传递关系,其中传递的信息就是可变维度的张量。

张量

张量是计算图中节点之间相互传递数据的表现形式。一维数组、二维数组和N维数组等都可以看做张量,表示操作的输出量。

tf.Tensor(op,value_jndex,dtype)

参数 描述
op Tensor操作节点
value_index 生成Tensor的节点索引
dtype Tensor数据类型

张量的属性

属性 描述
Tensor.device 计算Tensor的硬件
Tensor.dtype Tensor数据类型
Tensor.graph 包含Tensor的计算图
Tensor.name Tensor命名空间
Tensor.op Tensor操作节点
Tensor.shape Tensor形状

TensorFlow中张量常见数据类型

数据类型 Python API
32位浮点数 tf.float32
64位浮点数 tf.float64
64位有符号整型 tf.int64
32位有符号整型 tf.int32
可变长字节数组 tf.string
布尔型 tf.bool
8位无符号整型 tf.unit8

张量在计算图中主要的用途是对中间计算结果的引用和获取数据流图计算结果。在构建深层网络时计算复杂度很大,计算图中包含大量的中间结果,只用张量可以极大地提升代码的可读性。

使用TensorFlow做矩阵计算

用TensorFlow完成矩阵计算,并使用TensorBoard可视化数据流图

步骤一:使用TensorFlow做矩阵计算
新建一个python文件,命名为task4.py,代码如下所示

import tensorflow as tf

A=tf.constant([[1,4,7],[2,5,8],[3,6,9]],name='matrix_A')
B=tf.constant([[2,1,2],[-1,1,4],[3,0,-1]],name='matrix_B')
C=tf.constant([[1,-1,0],[2,2,2],[1,4,5]],name='matrix_C')

node_matmul=tf.matmul(A,B,name='node_matmul')
node_add=tf.add_n([node_matmul,C],name='node_add')

with tf.Session() as sess:
    writer=tf.summary.FileWriter('./log_4',sess.graph)
    Y=sess.run(node_add)
    print(Y)
    writer.close()

代码解析:

  • tf.constart:用于声明一个常量
  • tf.matmul:用于计算矩阵的乘法,还有另一个类似的方法叫做multiply,矩阵乘以矩阵,矩阵乘向量,矩阵乘某个数都可以
  • tf.add_n:用于计算列表元素加法
  • with tf.Session() as sess:创建上下文来执行,当上下文退出的时候自动释放资源
  • tf.summary.FileWriter:用于指定一个文件用来保存图

步骤二:运行程序

在命令行中输入命令——python task4.py ,运行结果如下所示:
TensorFlow基础和入门案例,tensorflow,人工智能,python
步骤三:使用TensorBoard可视化矩阵计算数据流图
使用TensorBoard显示矩阵计算的数据流图,命令行输入:

 tensorboard --logdir log_4

在浏览器新的便签也输入网址: http://localhost:6006/,即可访问TensorBoard页面。
TensorFlow基础和入门案例,tensorflow,人工智能,python文章来源地址https://www.toymoban.com/news/detail-549351.html

到了这里,关于TensorFlow基础和入门案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python/人工智能】TensorFlow 框架原理及使用教程

    TensorFlow 是一款由 Google 开源的人工智能框架,是目前应用最广泛的深度学习框架之一。它可以在各种硬件平台上运行,包括单个 CPU、CPU 集群、GPU,甚至是分布式环境下的 CPU 和 GPU 组合。 除了深度学习领域,TensorFlow 还支持其他机器学习算法和模型,如 决策树 、 SVM 、 k-m

    2024年04月28日
    浏览(47)
  • 人工智能:Pytorch,TensorFlow,MXNET,PaddlePaddle 啥区别?

    学习人工智能的时候碰到各种深度神经网络框架:pytorch,TensorFlow,MXNET,PaddlePaddle,他们有什么区别? PyTorch、TensorFlow、MXNet和PaddlePaddle都是深度学习领域的开源框架,它们各自具有不同的特点和优势。以下是它们之间的主要区别: PyTorch是一个开源的Python机器学习库,它基

    2024年04月16日
    浏览(69)
  • 人工智能TensorFlow PyTorch物体分类和目标检测合集【持续更新】

    1. 基于TensorFlow2.3.0的花卉识别 基于TensorFlow2.3.0的花卉识别Android APP设计_基于安卓的花卉识别_lilihewo的博客-CSDN博客 2. 基于TensorFlow2.3.0的垃圾分类 基于TensorFlow2.3.0的垃圾分类Android APP设计_def model_load(img_shape=(224, 224, 3)_lilihewo的博客-CSDN博客   3. 基于TensorFlow2.3.0的果蔬识别系统的

    2024年02月09日
    浏览(62)
  • 鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法

    鱼类识别系统。使用Python作为主要编程语言开发,通过收集常见的30种鱼类(‘墨鱼’, ‘多宝鱼’, ‘带鱼’, ‘石斑鱼’, ‘秋刀鱼’, ‘章鱼’, ‘红鱼’, ‘罗非鱼’, ‘胖头鱼’, ‘草鱼’, ‘银鱼’, ‘青鱼’, ‘马头鱼’, ‘鱿鱼’, ‘鲇鱼’, ‘鲈鱼’, ‘鲍鱼’, ‘鲑

    2024年02月02日
    浏览(100)
  • 【人工智能】Transformers 快速上手: 为 Jax、PyTorch 和 TensorFlow 打造的先进的自然语言处理

    为 Jax、PyTorch 和 TensorFlow 打造的先进的自然语言处理 🤗 Transformers 提供了数以千计的预训练模型,支持 100 多种语言的文本分类、信息抽取、问答、摘要、翻译、文本生成。它的宗旨是让最先进的 NLP 技术人人易用。 🤗 Transformers 提供了便于快速下载和使用的API,让你可以把

    2024年02月08日
    浏览(68)
  • Tensorflow入门(2)——深度学习框架Tesnsflow & 线程+队列+IO操作 & 文件读取案例

    Tensorflow入门(1)——深度学习框架Tesnsflow入门 环境配置 认识Tensorflow 在训练样本的时候,希望读入的训练样本时有序的 • tf.FIFOQueue 先进先出队列,按顺序出队列 • tf.RandomShuffleQueue 随机出队列 FIFOQueue(capacity, dtypes, name=‘fifo_queue’) 创建一个以先进先出的顺序对元素进行排

    2024年02月17日
    浏览(47)
  • Tensorflow 入门基础——向LLM靠近一小步

    进入tensflow的系统学习,向LLM靠拢。 数值类型的张量是tensorflow主要的数据载体,根据维度数来区分,可分为: 标量Scalar:单个实数,如1,2,3,4等,维度数为0,shape为[] 向量Vector:n个实数的有序集合,如[1,2,5,62,21]等,维度为1,长度不定,shape为[n] 矩阵Matrix:n行m列实数的

    2024年01月21日
    浏览(33)
  • MATLAB算法实战应用案例精讲-【人工智能】ROS机器人(基础篇)(二)

    目录 算法原理 跨不同ROS系统的通信 实现步骤 ROS2 robot-localization配置 使用方式 配置robot-localization

    2024年02月22日
    浏览(49)
  • 使用TensorFlow构建,绘制和解释人工神经网络

    使用 Python 进行深度学习:神经网络(完整教程) 使用TensorFlow构建,绘制和解释人工神经网络 总结 在本文中,我将展示如何使用Python构建神经网络,以及如何使用可视化和创建模型预测解释器向业务解释深度学习。 图片来源:作者 深度学习是一种机器学习,它模仿人类获

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包