1. 画图
import matplotlib.pyplot as plt
plt.plot(self.activate_distubution_edges.cpu().numpy()[:-1], self.activate_distubution.cpu().numpy())
if optimal_th is not None:
plt.plot(optimal_th, 0, 'om')
plt.annotate('optimal_th', xy=(optimal_th, 0), xytext=(optimal_th+1, 10000), arrowprops=dict(arrowstyle='->'))
plt.ylabel('activate distubution')
plt.show()
2. 数字转str
str_cur = '%.2f' % test
可以通过这样设置,统一数字的宽度。
3. 数据库加载
在使用pytorch python代码下载相关数据库时发现下载很慢或者无法成功下载,这时候可以从官网上下载相关包,但不能直接在python中直接使用,可以将python中下载的相关链接修改掉
例如: 'http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz', 修改为:'file:///E:/programing/python/StudyPytorch/StudyPytorch/mnist/t10k-labels-idx1-ubyte.gz',
4. 如何将pytorch中module中的变量跟随module在GPU上移动
在用NEuroSim在线训练时发现占用的GPU内存较多,所以需要将其分散到不同GPU上去,使用模型并行的方法pytorch 模型并行 model parallel_LEILEI18A的博客-CSDN博客,例如:
Class test(module):
def __init__():
self.conv1 = conv1.cuda(0)
self.conv2 = conv2.cuda(1)
def forword():
x = self.conv1(x.cuda(0))
x = self.conv2(x.cuda(1))
x = x.cuda(0)
return x
所以在conv在GPU上移动时,内部的变量也会随之移动,但是若是自己定义的一些变量,怎么设置呢? 可以使用bb = bb.to(aa.device) (aa为内部变量)
5. plt画图坐标显示为科学计数法:
plt.ticklabel_format(style='sci', scilimits=(0,0))
6. numpy过滤
a = np.array([1,2,3,4,5,6])
b = a[a<2 & a>5]