温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PyTorch1.3和TensorFlow 2.0的示例分析

发布时间:2022-01-04 10:43:27 来源:亿速云 阅读:137 作者:柒染 栏目:大数据

本篇文章为大家展示了PyTorch1.3和TensorFlow 2.0的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

PyTorch 1.0以上版本加入了很多TensorFlow 2.0以下版本的功能,而TensorFlow 2.0以上版本却增加了越来越多的PyTorch功能。这意味着PyTorch将获得越来越多的静态计算图工具,而TensorFlow允许执行eager模式。

尽管如此,我还是认为PyTorch对研究者更加友好,更适合快速实现新方法,并且改进了与C++的兼容性。TensorFlow的优势仍然是Google生态系统(TFLite,Android的TFLite,TPU等)的集成。但是,无论我使用哪个,仍然存在很多问题,这些问题主要与Python相关。

大多数从事深度学习的人并没有意识到在后台发生了什么。易于使用的Python API出现在前端,而后端则以另一种完全不同的语言编写(许多Python软件包都是如此)。直到目前,PyTorch和TensorFlow的主要软件包都不是用Python编写的:
PyTorch1.3和TensorFlow 2.0的示例分析  


就其他软件包/扩展而论,例如TensorFlow I/O(或PyTorch的数据I/O传输途径),显而易见,C++里构建了一个完整的生态系统,并且克服了Python里出现的许多问题,这些是Python内存I/O上仍不能解决的。   仅为了避免不必要的性能问题,基本上,我们必须尽可能多地避免使用Python(和NumPy)函数,而尝试使用PyTorch和TensorFlow函数。  

PyTorch声称它不是用于C++框架的API,然而,一旦构建它,和Cython以及Numba一起使用,就可以了。如果我们通过名为TensorFlow.jl的Julia API 使用TensorFlow,那么我们就不再面临任何悬而未决的问题,因为Julia的内存管理要好得多。

更一般而言,深度学习模型的许多缓慢现象是由内存I/O引起的。不管我们是做对象检测还是关键点注释,以及想要实时显示,这些几乎都没问题。只需考虑在视频流上运行的任何内容。与加快应用于此的深度学习模型速度相比,克服内存I/O问题要付出更多的努力(这是我的部分日常工作)。

那么,深度学习框架发展会走向何方呢?自动区分仍然是一个巨大的问题,尤其是对于真正罕见的功能。使用Swift进行TensorFlow实验,PyTorch?谁知道呢,他们要往哪里前进。

我不是C++的忠实拥护者(我更喜欢C而不是C++),因为它容易出错,可能导致安全问题。即使人们可能传输了所有的编码采访而构建了有缺陷的C++软件(是的,我强烈反对编码采访),人们还是应该正确地学习它,反复强调是无济于事的。

在HPC(高性能计算)中,许多软件已经或者正从FORTRAN迁移到C++,我不明白。因为将经过良好测试的FORTRAN代码迁移到(未经测试的)C++对我来说没有任何意义。改变一种编程语言到另一种极其相似的语言,为什么多此一举?我仍然认为,从长远来看,Rust(适用于系统级和GUI的所有产品)和Julia(适用于机器学习)的组合将获得成功。

目前正在使用的是什么?好吧,我已经从TensorFlow/Keras切换到以PyTorch为主,因为我需要太多的自定义/非标准功能。但这并不意味着我不再使用TensorFlow/Keras。在2020年,我希望朝着仅使用Julia框架迈进。

上述内容就是PyTorch1.3和TensorFlow 2.0的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI