计算机研究生每天学习的日常记录
看pytorch tutorials 遇到的问题
eval函数: 字符串表达式求值
model.eval() 不启用 dropout 和 BN
nn.sequential 一种顺序容器
Python3.6新增了一种f-字符串格式化 可以使得{} 花括号进行表达式运算
python lambda ( lambda 定义了一个匿名函数,lambda 并不会带来程序运行效率的提高,只会使代码更简洁)
target_transform = Lambda(lambda y: torch.zeros(
10, dtype=torch.float).scatter_(dim=0, index=torch.tensor(y), value=1))
还是不太能理解这段代码
可以点击查看这个博客
看完之后理解了
scatter() 一般可以用来对标签进行 one-hot 编码,这就是一个典型的用标量来修改张量的一个例子
停止反向传播计算 也可以用detach 方法(一般采用with torch.no_grad() 在测试集的时候)
保存和加载模型的常用方法
保存模型参数和加载模型参数
torch.save(model.state_dict(), 'model_weights.pth')
model.load_state_dict(torch.load('model_weights.pth'))
保存模型的网络结构以及参数
torch.save(model, 'model.pth')
model = torch.load('model.pth')
了解oonx -> Open Neural Network Exchange
开放式神经网络交换 不同框架之间的转化
详细介绍:
https://www.jianshu.com/p/65cfb475584a
学习TensorBoard
遇到的问题:
Could not load dynamic library ‘cudart64_110.dll‘; dlerror: cudart64_110.dll not found
解决方法:
可以点击查看这个博客
练习使用相关的API:
add_pr_curve 比较重要画PR图
add_figure
add_scalar 画损失函数
add_scalars
add_embedding 利用投影可视化特征降维
add_image
add_graph 可视化网络架构图
学习numba 加速运行
学习imutils 一种opencv的封装包
图像平移 translate,
缩放resize,
旋转rotate,rotate_round,
骨架提取 skeletonize()
了解opencv的dnn模块