深度学习框架:TensorFlow(简介)

目前最主流的深度框架有 TensorFlow、Pytorch 以及 Keras。其中:

  • TensorFlow 是被使用最广泛的一个深度学习框架,已广泛的运用在如,图像识别、图片分类等领域。
  • PyTorch 是一个开源的 Python 机器学习库,基于 Torch 开发,底层由 C++实现,也被广泛使用在人工智能领域;
  • Keras 则是 Python 编写的高级神经网络 API,它可以将 TensorFlow、CNTK,或是 Theano 作为后端程序来用,它的代码简单、易读。

TensorFlow的核心概念

  1. 张量(Tensor ):TensorFlow中的基本数据对象,作为图中的节点(Operation,提供图当中执行的操作)的输入输出,在节点之间流动(Flow),因此得名。可以被理解成一个多维数组,TensorFlow 的张量与 Numpy 的数组比较相似。其中的每个元素都具有相同的数据类型,且该数据类型一定是已知的(使用 tensor 的 dtpye 属性查看 tensor 的数据类型)。张量是有形状的(通过 tensor 的 shape 属性查看 tensor 的形状),关于 tensor 的形状有两个术语:秩、轴(维度)。
  • 秩:张量维度的数目。轴(维度):轴(维度)就是我们计算机科学中数组的维度。例如,向量的维度就是 1,矩阵的维度就是 2。

张量的阶

深度学习框架:TensorFlow(简介)_TensorFlow

2. 计算图:是一个有向图,又可以叫作数据流图(data flow graphs),是TensorFlow将计算表示为指令之间的依赖关系的一种表示法。它是 TensorFlow 操作对象(tf.Operation)与张量对象(tf.Tensor)的集合。操作对象是图中的节点,是图中的计算单元,张量对象是图的边,是在节点之间流动的数据。TensorFlow 的 3 种计算图,分别是:

  • 静态计算图:优点是高效,在分布式训练、性能优化和生产部署方面都有优势。定义好之后可以反复执行。动态计算图:TensorFlow 2 中 Eager Execution 模型就是采用动态计算图方式,大大地提高了代码的简洁性,且非常易于调试。Autograph:兼顾代码的可读性与运行的高性能,TensorFlow 2 中提出了 Autograph只要在 Python 的函数前加上@tf.function 标签,就可以将 Python 的函数转换为静态计算图。

3.会话:TensorFlow跨一个或者过个本地或远程设备运行数据流图的机制。

TensorFlow 2 中几个比较常用的 API


  • tf.compact
  • tf.data
  • tf.image
  • tf.nn
  • tf.keras
  • tf.lite
  • tf.math

高效的实验分析助手-TensorBoard

可以通过 Web 页面提供查看细节与过程的功能,它将模型的细节与过程,通过浏览器可视化的方式进行展现,帮助使用者感知各个参数与指标的变化,把握训练趋势。

 

深度学习框架:TensorFlow(简介)_TensorFlow_02

3.Python安装TensorFlow常见报错:

登录后复制

W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could 
not load dynamic library 'libcudart.
so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or 
directoryI tensorflow/stream_executor/cuda/cudart_stub.cc:29] 
Ignore above cudart dlerror if you do not have a GPU 
set up on your machine.1.2.
  • 问题分析与解决方式:GPU的版本与TensorFlow的版本不一致;GPU的版本与TensorFlow的对应关系参见:https://tensorflow.google.cn/install/source#gpu  

登录后复制

I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this 
TensorFlow binary was not compiled to use: AVX21.
  • 问题分析与解决方式:当前的CPU可以支持未编译为二进制的指令AVX2 ;要想消除该提示,需要在代码中添加两行代码:(用于设置TensorFlow的日志级别的)

深度学习框架:TensorFlow(简介)_TensorFlow_03深度学习框架:TensorFlow(简介)_TensorFlow_04

登录后复制

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'1.2.

View Code


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空