print('\n收集经验')for ep in range(400): state = env.reset() #print(state.shape) #state = np.array(state) state = state.transpose((2, 0, 1)) #state = torch.from_numpy(state) state = Variable(torch.from_numpy(state)) state = state.unsqueeze(0) print("AA", state.shape) episode_reward = 0 step = 0 for i in range(50): # env.render() print("BB",state.shape) action = agent.get_action(state)
我已经尝试过了,不使用循环时可以正常工作,使用while循环也无法工作
打印的内容如下:
收集经验AA torch.Size([1, 1, 84, 84])BB torch.Size([1, 1, 84, 84])BB (84, 84, 1)
是什么导致了第二个BB的打印?
回答:
已经解决了,原来问题出在循环的后续部分,接下来的输入不一样,所以我将处理转换为numpy并将这些操作封装成一个函数,这样就工作了