根据PPO中的算法,经过测试,发现
obs_batch = self.obs[:-1].view(-1, *self.obs.size()[2:])[indices]
其中,
self.obs.size()[2:].shape = (4,84,84)
self.obs[:-1].shape = (128, 8 , 4, 84, 84)(128是buffer的length,8是process_num, 4*84*84是数据的大小)
经测试,发现
self.obs[:-1].view(-1, *self.obs.size()[2:])[indices]中的view(-1)是将128和8相乘,即8个128相拼接,而不是128个8相拼接。