I created a class called Gesture for a gesture recognition ML project I'm working on. I read in a dataset of gestures. For each item in the dataset, I made an instance of the Gesture class to store the values and added them all to a list. I stored that list as a .dat file so I don't have to reupload the dataset each time I work on this project (it takes a while to upload).
I added new methods to the Gesture class, but when I try to use them on the saved Gesture variables, I am met with an
 Attribute Error: 'Gesture' object has no attribute 'Reframe_Sequence' 
(Reframe_Sequence is the method I added after the data was stored and reloaded).
Must I re-store the dataset, or is there a way to get around this?
Here is some of the code so you get a better scope of the problem:
the class and the method:
class Gesture:
  def __init__(self, gesture, finger, subject, trial, sequence):
    self.gesture = gesture
    self.finger  = finger
    self.subject = subject
    self.trial = trial
    self.sequence = sequence 
    
  def Reframe_Sequence(self):
    # split each row by spaces, and save in an array
    # make an array that is len x 22 x 3
    # loop through each frame, then nested loop through, each with step of 3 and add the xyz to the joint
    s = self.sequence.to_numpy()
    n = s.size #number of frames
    arr2D = np.zeros(n, 66)
    arr3D = np.zeros(n,22,3)
    for i in range(n):
      arr2D[i] = s[i].split(" ")
    for i in range(n):
      for j in range(0, 66, 3):
        arr3D[i,j/3] = arr2D[i,j:j+3]
    self.sequence = arr3D
    return self.sequence
how it's loaded in and stored:
rootdir = '/content/drive/MyDrive/Colab Notebooks/HandGestureDataset_SHREC2017'
for subdir, dirs, files in os.walk(rootdir):
    for file in files:
      word  = "skeletons_world.txt"
      if word in file:
        path = os.path.join(subdir, file)
        path_list = path.split("/")
        gesture = re.findall(r'\d+', path_list[6]) 
        finger = re.findall(r'\d+', path_list[7]) 
        subject= re.findall(r'\d+', path_list[8]) 
        trial= re.findall(r'\d+', path_list[9])
        sequence = pd.read_csv(path)
        g = Gesture(gesture, finger, subject, trial, sequence)
        Master_List.append(g)
pickle.dump(Master_List, open("master_list.dat", "wb"))
ML = pickle.load(open("/content/master_list.dat", "rb"))
Here is where the issue is when I try to use one of those saved objects
m = ML[5]
m.Reframe_Sequence()
k = m.sequence
print(k)
This is the error I get:
AttributeError Traceback (most recent call last) in ()
      1 m = ML[5]
----> 2 m.Reframe_Sequence()
      3 k = m.sequence
      4 print(k)
AttributeError: 'Gesture' object has no attribute 'Reframe_Sequence'
I added Reframe_Sequence() after I stored the objects. Must I re-store them?
 
     
    