Perhaps instead of getting frustrated by all the errors I’m making I should just celebrate them with a collection. So here’s the first.
File "/home/christina/Pycharm Projects/RL Framework/ada/ada_agent.py", line 46, in run
current_q_values = self.policy_net(states).gather(1, actions)
RuntimeError: Index tensor must have the same number of dimensions as input tensor
A bit of editing brings up a new error:
File "/home/christina/Pycharm Projects/RL Framework/ada/ada_agent.py", line 46, in run
current_q_values = self.policy_net(states).gather(1, actions)
RuntimeError: Size does not match at dimension 2 expected index [1, 1, 64] to be smaller than self [1, 64, 3] apart from dimension 1
Am I getting any closer? I think I’m going to have to spend a month or two doing nothing but reshape tensors and changing their datatypes, and converting to/from anything else that they can be converted from until I can do it in my sleep. I thought I had the gather method under control a couple of days ago. Apparently not, since that’s what’s giving me all my current errors. Perhaps I should lay in large amounts of alcohol to see me through this tedious process.
And another:
Traceback (most recent call last):
File "/home/christina/Pycharm Projects/RL Framework/app.py", line 8, in <module>
agent.run()
File "/home/christina/Pycharm Projects/RL Framework/ada/ada_agent.py", line 63, in run
print(np.mean(rewards))
File "/home/christina/.local/lib/python3.10/site-packages/numpy/core/fromnumeric.py", line 3502, in mean
return mean(axis=axis, dtype=dtype, out=out, **kwargs)
TypeError: mean() received an invalid combination of arguments - got (dtype=NoneType, out=NoneType, axis=NoneType, ), but expected one of:
* (*, torch.dtype dtype)
* (tuple of ints dim, bool keepdim, *, torch.dtype dtype)
* (tuple of names dim, bool keepdim, *, torch.dtype dtype)
Traceback (most recent call last):
File "/home/christina/Pycharm Projects/RL Framework/app.py", line 8, in <module>
agent.run()
File "/home/christina/Pycharm Projects/RL Framework/ada/ada_agent.py", line 43, in run
states, actions, rewards, next_states = self.extract_tensors(experiences)
File "/home/christina/Pycharm Projects/RL Framework/ada/ada_agent.py", line 86, in extract_tensors
next_states = torch.from_numpy(np.array([x.next_state for x in experiences])).float()
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (64,) + inhomogeneous part.
I think I’ll leave that last one for tomorrow.