代码随笔
1.torch.where(condition,x,y)
有两种情况:
1.包含三个参数,如果condition为true,则 value值为x; 如果condition为false,则 value值为y;
2.若只包含condition参数,若进行判断的是一个n维张量,则返回一个元组,包括n个tensor,第x个tensor为满足条件的元素在第x维度上的位置,可以通过下标的方式获取到特定tensor。
2.numpy.array.size, numpy.array.shape和torch.tensor.size(),torch.tensor.shape
numpy中,size计算数组和矩阵中所有元素的个数,shape计算矩阵每维的大小
torch中,torch.size()和torch.shape结果是一样的,通过torch.size(0)与torch.shape[0]获取第0维大小。
3.切片相关
[a:b:c]:从a取到b,步长为c
4.torch:transpose(),permute(),view(),reshape(),contiguous()
5.torch:eye(),empty(),empty_like(),scatter(),scatter()_
6.torch.utils.data.DataLoader
在使用时,可以直接通过for 。。。 in data_loader获取数据,也可通过for i (。。。) in enumerate(data_loader)获取到step和数据,因此,如果要每step输出一次结果,应该在该循环下进行。
7.VScode
Ctrl+[和Ctrl+]实现文本的向左移动或者向右移动; Shift+Alt+F实现代码的对齐;