代码随笔


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实现代码的对齐;