栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Tensorflow框架与常用函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tensorflow框架与常用函数

目录

一、Tensorflow框架

二、Tensorflow常用函数

三、与Pytorch对比

四、其他框架


一、Tensorflow框架

1、Tensorflow V1.0框架:

将一系列的计算流程抽象为一张数据流图,包含节点和边两个基础元素;

“会话”将前台与后台连接起来,Session包含三个参数:

(1)target:指定连接的执行引擎。

(2)graph:指定要在 Session 对象中参与计算的图。

(3)config:辅助配置 Session 对象所需要的参数。

session创建之后,需要触发run()方法来启动数据流图进行运算。

2、V 1.0的弊端:

  •  TensorFlow1.0里在创建了Tensor之后,不能直接返回结果。 而是需要创建session会话机制,包含graph的概念在里面,而且需要session.run 才能运行。这种风格更像是一种硬件编程语言VHDL。
  • 与PyTorch等一些简单的框架相比,徒增了很多概念,使用起来会很困扰。
  • 调试困难,API混乱,入门困难。入了门使用起来依旧困难,导致很多人转向PyTorch;

3、Tensorflow V2.0 TF+Keras

最大的特性: 去掉了graph 和session机制。变的像Python,PyTorch一样所见即所得。
• 主要改进点:
• Session.run:图和会话机制;
• Tf.control_dependencies:实时控制的概念;
• Tf.global_variables_initializer;
• Tf.cond:分支控制的概念原本可以通过python中if,else等语句来完成;
• Tf.while_loop

二、Tensorflow常用函数

详见Tensorflow常用函数汇总_gangeqian2的博客-CSDN博客_tensorflow函数手册

tensorflow笔记 :常用函数说明_Multiangle's Notepad-CSDN博客_tensorflow常用函数介绍

三、与Pytorch对比

1、Tensorflow的计算图是以静态方式定义的,与外部世界的所有通信都是通过 tf.Sessionobject 和 tf.Placeholder 执行,它们是在运行时会被外部数据替换的张量;

Torch的计算图是动态构建的,图会随着执行过程而改变和执行节点,没有特殊的会话接口或占位符;

计算图的核心优势是能实现并行化或依赖驱动式调度,能让训练速度更快,更有效率;

2、TF的可视化库TensorBoard功能更强,更便于调试;PyTorch的可视化库Visdom则功能简单有限;

3、使用TFserving更容易实现生产部署;而PyTorch生产部署需要API服务器;

四、其他框架

1、Caffe

第一个面向深度学习的框架,用于特征抽取的卷积框架,但不支持自动求导;

详见 一文了解caffe框架_神技圈子的博客-CSDN博客_caffe框架

2、Keras

是基于Theano的一个深度学习框架,封装了很多高层的神经网络模块(如全连接层Dense、卷积层Conv2D、长短时记忆模型LSTM),设计和Torch很类似,但只提供API接口。

详见 keras实战:强大的深度学习框架Keras - 知乎

3、PaddlePaddle

采用分层设计,同时存在静态图和动态图;

详见 PaddlePaddle 核心架构深入解读_JKX_geek的博客-CSDN博客_paddlepaddle框架

4、Xgboost

是一种经典的集成式提升算法框架,将多个基础模型集成在一起,形成一个很强的模型。其中,基础模型可以是分类与胡贵决策树CART或线性模型。

详见 数据分析利器:XGBoost算法最佳解析 - 云+社区 - 腾讯云

5、LightGBM

由微软开发的一套基于决策树的快速、分布式、高性能的gradient boosting框架,支持 以下应用:

  • 回归,目标函数是L2损失

  • 二值分类,目标函数是logloss

  • 多值分类

  • cross-entropy, 目标函数是logloss

  • lambdarank

优势在于:

  • 更快的训练速度与高效率;

  • 更低的内存使用量;

  • 更高的准确率;

  • 支持并行和GPU学习;

  • 处理超大规模数据的能力。

参考:

【1】TensorFlow介绍--TensorFlow框架介绍_TKE_kolento.的博客-CSDN博客_tensorflow框架介绍

【2】TensorFlow与PyTorch之争,哪个框架最适合深度学习 - 知乎

【3】LightGBM: gradient boosting算法轻量级框架介绍_wong2016的博客-CSDN博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/299853.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号