标了“可改”的地方可以改
每次data文件夹删除了以后再上传,复制过来以后再调试
- 已知:global_x,y是在整个大区里面的坐标,超级大,学它没意义
- local_x,y:记录了一段区域,从某一个起点然后记录比如600m的高速路段,这个还是太大学它没意义,应该学相对于自车为原点(0,0)的(Δx,Δy)
-
trainset:
trainset=scipy.io.loadmat('x/mat')
- dict
- len:5
- dict_keys(['header', 'version', 'globals', 'tracks', 'traj']) 只用看最后两个有用,前面是matlab内置说明信息
-
trainset['tracks']:
-
type: <class 'numpy.ndarray'>
-
shape: (6, 2356)
-
6: dataset有us101 i80一共6个,是最外层的ndarray,里面嵌套了长度是2356的一个ndarray
-
2356:每一列又是一个ndarray最内层,但是二维的矩阵长宽不定变长,但是长*宽最大=2356
所以有的不够长补成空的[]维度是[1,0],有[4,429]各种长度
-
-
trainset['traj']:
-
type: <class 'numpy.ndarray'>
-
shape: (5922867, 47)
-
5922867:车的辆数*时间的帧数
-
47:47个特征feature:
都是float格式,后期要.astype(int)
- 0: datasetID
- 1: vehID
- 2: frame_ID 帧数标号
- 3: local_x
- 4: local_y
- 5: lane_ID
- 6: lateral_class 直1 左2 右3
- 7: longitudinal_class 刹车2 不刹车1
- 8-46: 3*13格子,每格存vehID只能一辆车
-
- getHist
- type: array
- shape=(0, 2),
- dtype=float64
- 在ipynb里面调试,然后在py里面写到主程序里
- _,__,a , _in b: 说明b里面四个变量只取一个a
- 粗略的讲,batch_size管显存,num_workers管GPU利用率。 batch_size设置一般为2-32,num_workers一般为8、16
-
A.astype(数据类型) :A是ndarray或者pandas的series class,然后is a method within numpy.ndarray, as well as the Pandas Series class
-
ndarray取成员可以[a][b]也可以[a,b]
-
np.eye([2]) 和np.eye(2)一样
np.eye默认是float所以astype(int)
-
np.zeros()
-
b=a[np.where(a[:,0==t])][0,1:3]
-
[行,列]
-
a.shape: [4,4]; a.size:16
-
np.where(条件) np.argwhere(条件) 返回tuple
- scipy.io.loadmat('x/mat')返回dict每个成员是ndarray
-
byte(): 转dtype从FloatTensor64到torch.uint8 64浮点数到8整型
-
torch.from_numpy()
-
c=c.masked_scatter——(a,b): https://blog.csdn.net/qq_39861441/article/details/122694837
从b复制,由a的bool值判断要不要复制
-
.view(-1,a,b): 标了的a,b维数确定,标-1代表维数不定求出来的
只能用在contiguous的variable上,连续的变量
-
.contiguous() 用在transpose()后面 .view()前面保证连续