PyTorch
2023/3/1 16:08 之前做机器学习相关的课程作业啥的都使用的tensorflow,但是使用体验实在是太糟糕了…尤其是两个版本的问题我到现在都还能没搞懂,反观PyTorch无论是从安装还是环境配置等方面都非常的成功,刚好这学期也要进行大量的python编程,所以决定开一个专栏汇总学习和使用PyTorch中的问题和心得;
参考之前学习tensorflow的经验,对于这种发展非常快的技术框架的学习最好不要找远古教材慢慢啃,一方面是这种技术类的书籍看了不动手几乎没用,另一方面是看书的效率很低几乎不可能完整的看完整本书,最重要的是AI发展日新月异,一般的教材根本就不适合用来学习技术,所以我选择直接在wx公众号或者知乎、博客园等地方找文章看结合代码实际操作;
2023/3/2 9:51 pytorch也没有必要花大量时间去读那种api文档学习,现阶段调用api谁不会似的,退一步说就算当时学会了怎么调用api在之后使用的时候还是百度,做这种笔记没有意义,我们应当学习的是其产生背景和相关知识而不是怎么去调用模型;
参考资料:
一、概述
如何在anaconda的环境下安装pytorch参考:在anaconda下安装pytorch + python3.8+GPU/CPU版本 详细教程-物联沃-IOTWORD物联网;
如何在notebook中使用pytorch参考:(15条消息) 在jupyter notebook中遇到import torch 127找不到程序报错_jupyter notebook无法运行import torch_Unsunshine_Bigboy_?的博客-CSDN博客;
关于pytorch中的torchvision库的安装:(15条消息) 深度学习错误汇总:import torchvision._C Error: DLL load faild._柚有所思的博客-CSDN博客;
1.tensors
tensor是一种专有的数据结构,与数组和矩阵非常相似,在PyTorch中,使用tensor来编码一个模型的输入和输出,以及模型的参数;
tensor类似于NumPy的ndarrays,只是tensor可以在GPU或其他硬件加速器上运行,事实上,tensor和NumPy数组通常可以共享相同的底层内存,不需要复制数据;
tensor还为自动微分进行了优化;
1.1 tensor创建
tensor可以直接从数据中创建,数据类型根据数据自动推断
1 |
|
tensor也可以从numpy数组中创建
1 |
|
从其他tensor中初始化而来的新的tensor保留了参数tensor的属性(形状、数据类型),除非明确重写
1 |
|
使用常数和随机数进行初始化,其中shape是一个tensor元组,决定了tensor输出的维度
1 |
|
1.2 tensor操作
所有tensor操作参考torch — PyTorch 1.13 documentation,因为tensor和ndarrays类似,所以tensor的操作和ndarray也类似;