Colab/PyTorch - Getting Started with PyTorch
- 1. 源由
- 2. 概要
- 2.1 PyTorch是什么?
- 2.2 为什么学习PyTorch?
- 2.3 PyTorch库概览
- 3. 步骤
- 4. 预期&展望
- 5. 总结
- 6. 参考资料
1. 源由
世界在发展,为其服务的技术也在不断演变。每个人都要跟上技术迅速变化的步伐至关重要。其中一个见证最快、最大进步的领域是人工智能。
之前基本上都是花了两周的时间过了一遍:
- 《ubuntu22.04@laptop OpenCV Get Started》
- 《Jammy@Jetson Orin - Tensorflow & Keras Get Started》
为了更好的了解业界的一些基础代码框架,今后有机会用于《一种部件生命期监测方法》在高度专业业务领域的预测应用。
接下来,对PyTorch做个入门的学习和研读,和大家一起共勉!
2. 概要
2.1 PyTorch是什么?
PyTorch是一个基于Python的库,它方便地构建深度学习模型并在各种应用中使用它们。但这不仅仅是另一个深度学习库,它是是一个面向两组受众的基于Python的科学计算包:
- 作为NumPy的替代品,利用GPU的强大能力
- 提供最大灵活性和速度的深度学习研究平台
PyTorch使用Tensor作为其核心数据结构,类似于Numpy数组。你可能会对这种特定的数据结构选择感到好奇。答案在于,有了适当的软件和硬件支持,张量提供了各种数学运算的加速。当这些操作在大量的深度学习中进行时,速度上的巨大差异就显而易见了。
与Python类似,PyTorch专注于易用性,使得即使是具有非常基本编程知识的用户也能在其项目中使用深度学习。
2.2 为什么学习PyTorch?
Keras, Tensorflow, Caffe, Theano (RIP)等等深度学习的工具不乏其人。那么,PyTorch有何不同之处呢?
一个理想的深度学习库应该易于学习和使用,足够灵活以适用于各种应用,高效以处理庞大的现实生活数据集,并且准确到足以在输入数据不确定性存在时提供正确的结果。
PyTorch在上述所有指标上表现非常出色。其“Pythonic”编码风格使得学习和使用变得简单。GPU加速、支持分布式计算和自动梯度计算有助于从前向表达式开始自动执行反向传播。
当然,由于Python,它面临着运行时缓慢的风险,但是高性能的C++ API(libtorch)消除了这种开销。这使得从研发到生产的过渡非常顺畅。这是使用PyTorch的另一个原因!
2.3 PyTorch库概览
现在我们了解了PyTorch及其独特之处,让我们看一看PyTorch项目的基本流程。下面的图描述了一个典型的工作流程以及与每个步骤相关的重要模块。
注:重要PyTorch模块包括:torch.nn、torch.optim、torch.utils和torch.autograd。
3. 步骤
凡事只能一步一个脚印,稳扎稳打,就像山寨货,虽然能快速出来,但是出了问题就只能儍瞪眼的份。
因此,我们的习惯就是一步一个脚印,马上踏上PyTorch的学习之旅:
- 【1】Colab/PyTorch - 001 PyTorch Basics
- 【2】Colab/PyTorch - 002 Pre Trained Models for Image Classification
- 【3】Colab/PyTorch - 003 Transfer Learning For Image Classification
- … …后续慢慢补充
4. 预期&展望
预期:1~2周完成入门学习,了解基本概念和API操作。
展望:在Jetson Orin Nano上引入Yolo算法,完成目标追踪功能。
目的:
- 《ArduPilot开源代码之CompanionComputer上天计划》
- 《Ardupilot开源代码之Rover上路计划》
- 《Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考》
- 《一种部件生命期监测方法》
5. 总结
后续,等完成了这个小目标后,再做总结整理。
6. 参考资料
【1】Welcome to PyTorch Tutorials
【2】The Top 23 Pytorch Open Source Projects