python - torch 张量在 for/while 循环中更改为 numpy 数组?

标签 python numpy machine-learning pytorch

print('\nCollecting experience')
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 循环

<小时/>

打印内容:

Collecting experience
AA torch.Size([1, 1, 84, 84])
BB torch.Size([1, 1, 84, 84])
BB (84, 84, 1)

是什么导致了第二次 BB 打印?

最佳答案

解决了它,结果发现问题出现在循环中,下一个输入不一样,所以将处理放入numpy并将事物放入函数中,并且它起作用了

关于python - torch 张量在 for/while 循环中更改为 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59504791/

相关文章:

python - 如何将动态生成的 zip 文件发送到客户端

python - 在 header python pandas 中搜索部分字符串

python - 在字符串中添加一个空格

python - Pandas /Numpy : remove leading/trailing nan in a pandas series or numpy array

python - 比较两个名字的相似度并使用神经网络识别重复项

python - 在 python 而不是 shell 中使用命令行参数

python - numpy 记录数组与时间?

python - Cython 优化 numpy 数组求和的关键部分

r - 在train方法中tuneGrid和trControl之间有什么关系?

python - Rasa Core - 获取最新消息,自定义操作