Guest User

Untitled

a guest
Mar 27th, 2019
1,108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. frames_folder = 'path/to/folder'
  2. X_data = []
  3. y_data = []
  4. list_of_sent = os.listdir(frames_folder)
  5. print (list_of_sent)
  6. class_num = 0
  7. time_steps = 0
  8. frames = []
  9. for i in list_of_sent:
  10. classes_folder = str(frames_folder + '/' + i) #path to each class
  11. print (classes_folder)
  12. list_of_frames = os.listdir(classes_folder)
  13. time_steps= 0
  14. frames = []
  15. for filename in sorted(list_of_frames):
  16. if ( time_steps == total_timesteps ):
  17. X_data.append(frames) #appending each tensor of 8 frames resized to 110,110
  18. y_data.append(class_num) #appending a class label to the set of 8 frames
  19. time_steps = 0
  20. frames = []
  21. else:
  22. time_steps+=1
  23. filename = cv2.imread(vid + '/' + filename)
  24. filename = cv2.resize(filename,(width, height),interpolation=cv2.INTER_AREA)
  25. frames.append(filename)
  26.  
  27.  
  28. class_num+=1
  29. X_data = np.array(X_data)
  30. y_data = np.array(y_data)
  31.  
  32. print (X_data.shape)
  33. X_data = X_data.reshape(samples ,timesteps,width* height*channels)
  34.  
  35. #Encoding Targets with OneHotEncoding
  36. y_data = y_data.reshape(len(y_data), 1)
  37. encoder = OneHotEncoder(sparse=False)
  38. y_encoded = encoder.fit_transform(y_data)
  39.  
  40. #Splitting in Train and Test Data
  41. X_train, X_test, y_train, y_test = train_test_split(X_data, y_encoded, test_size=0.2, shuffle=True, random_state=100 , stratify=y_encoded)
  42.  
  43. model = Sequential()
  44. model.add(LSTM(16, return_sequences=False, input_shape=(timesteps, width* height*channels)))
  45. model.add(Dense(classes, activation='softmax'))
  46. model.summary()
  47.  
  48. adam = optimizers.Adam(lr=0.00001)#, decay=0.000001)
  49. model.compile(optimizer = adam, loss='categorical_crossentropy', metrics=['accuracy'])#, sample_weight_mode='temporal')
  50.  
  51. history = model.fit(X_train, y_train, batch_size=16, epochs = 48, validation_data=(X_test, y_test))
Advertisement
Add Comment
Please, Sign In to add comment