1、系统总结
2、正则表达式
re.sub 正则替换:cleaned_text = re.sub(r"[^\w\s]", "", text) - 优快云文库
3、在Python中,shape
是一个用于描述数组维度的属性,通常用在NumPy数组对象上,而不是标准的列表。
【Python】解决Python报错:AttributeError: ‘list‘ object has no attribute ‘shape‘_attributeerror: 'list' object has no attribute 'sh-优快云博客
4、在Python中,我们可以使用sys库中的getsizeof函数来查看List对象的文件大小。getsizeof函数返回对象的字节大小,包括对象本身占用的空间以及其引用的其他对象所占用的空间
5、重新理解一个类中的forward()和__init__()函数_类里的forward-优快云博客
初始化一个类时,则自动调用了该类的
__init__()
方法调用一个类的实例时,会自动调用该类的
forward()
方法
6、Tensor的乘法不是通用的矩阵乘法,而是简单的相应元素的相关乘法
7、两个维度不同的值也可以相加
8、导出onnx的方法:Python: 从PYTORCH导出模型到ONNX,并使用ONNX运行时运行它_转换出来的模型onnx都可以运行吗-优快云博客 9、线性代数:2.3. 线性代数 — 动手学深度学习 2.0.0 documentation (d2l.ai)
10、数据类型转换 :python中list、numpy、torch.tensor之间的相互转换_list转torch tensor-优快云博客
11、python中的范围都是半开区间
shape=torch.Size([30, 32, 128]),则p shape[1:3] 其实是p shape[1:3),即返回torch.Size([32, 128])
a = list(range(0, 64)) 的取值其实是 [0,63)
12、开发工具:使用pycharm远程调试程序&连接linux服务器调试程序(亲测可行!!)_pycharm 远程调试-优快云博客
pycharm是假同步,也就是远程的在本地设置映射目录,需要显示同步;
vscode 真正直接远程配置,但是上下文调用关系解析没有pycharm友善
13、函数修饰符@对函数进行包装,参考Python中的@符号 - VictoKu - 博客园
14、创建虚拟环境python -m venv mlir_venv后升级pip版本不会影响原来的环境
torch-mlir/docs/development.md at main · llvm/torch-mlir (github.com)
15、解决 NumPy高版本导致np.float_` was removed in the NumPy 2.0 release
import numpy as np
np.float_ = np.float64
16、踩坑杂记
17、 Python之查看pip安装包site-package的位置 或者 pip show pip
from distutils.sysconfig import get_python_lib
print(get_python_lib())
18、list 类似c++的数组,使用[0] 可以取第一个元素;而字典则是 {}中成对的匹配关系
19、tofile()输出的数据不保存数组形状和元素类型等信息,所以fromfile读取时需要指定数据类型
20、表达式x_ub_all[i][j][0, 0, m_offset, 0]
表示对一个多层嵌套或高维数据结构的索引操作,x_ub_all
可能是一个二维结构,其中每个元素是一个4维数组
# 创建2x2的结构,每个元素是四维数组(形状2x2x3x2) x_ub_all = [[np.random.rand(2, 2, 3, 2) for _ in range(2)] for _ in range(2)]
21、模型的参数有3种等价方式获取,模型初始化未经训练则是一个随机值。
pytorch教程之nn.Module类详解——state_dict和parameters两个方法的差异性比较_pytorch.model.state-优快云博客
22、实现 C++ 自定义算子请学习 PyTorch 官方教程 Custom C++ and CUDA Operators — PyTorch Tutorials 2.7.0+cu126 documentation
23、python中原生类型(int, tuple, dict)等是没有shape属性,只有张量tensor有