SyntaxError: invalid syntax when training a neural network model

Issue

I am trying to train a model (https://github.com/bmild/nerf), and I am getting the error below when I run this code.

The part of the code is:

def recenter_poses(poses):
poses_ = poses+0
bottom = np.reshape([0,0,0,1.], [1,4])
c2w = poses_avg(poses)
c2w = np.concatenate([c2w[:3,:4], bottom], -2)
bottom = np.tile(np.reshape(bottom, [1,1,4]), [poses.shape[0],1,1])
poses = np.concatenate([poses[:,:3,:4], bottom], -2)

poses = np.linalg.inv(c2w) @ poses
poses_[:,:3,:4] = poses[:,:3,:4]
poses = poses_
return poses

The error:

Traceback (most recent call last):   
File "run_nerf.py", line 12, in <module>
     from load_llff import load_llff_data   
File "/home/DNN/Softwares/nerf-master/load_llff.py", line 176
     poses = np.linalg.inv(c2w) @ poses
                                ^ SyntaxError: invalid syntax``

I really appreciate any help! I am new at this. Thanks 🙂

Solution

The @ is not supported before Python 3.5. If you have an older version, perhaps you can run this way using numpy.dot:

poses = np.dot(np.linalg.inv(c2w), poses)

PEP465

Answered By – Renan Lopes

Answer Checked By – Cary Denson (AngularFixing Admin)

Leave a Reply

Your email address will not be published.