train_instances = index_instances(train_instances, vocab_token_to_id) val_instances = index_instances(val_instances, vocab_token_to_id) ### TODO(Students) START # make a config file here as expected by your MyAdvancedModel config = {'vocab_size': vocab_size, 'embed_dim': args.embed_dim, 'training': True} ### TODO(Students END model = MyAdvancedModel(**config) config['type'] = 'advanced' optimizer = optimizers.Adam() embeddings = load_glove_embeddings(args.embed_file, args.embed_dim, vocab_id_to_token) model.embeddings.assign(tf.convert_to_tensor(embeddings)) save_serialization_dir = os.path.join('serialization_dirs', 'advanced_4') if not os.path.exists(save_serialization_dir): os.makedirs(save_serialization_dir) train_output = train(model, optimizer, train_instances, val_instances, args.epochs, args.batch_size, save_serialization_dir) config_path = os.path.join(save_serialization_dir, "config.json") with open(config_path, 'w', encoding='UTF-8') as f: json.dump(config, f) vocab_path = os.path.join(save_serialization_dir, "vocab.txt") save_vocabulary(vocab_id_to_token, vocab_path) print(f"\nModel stored in directory: {save_serialization_dir}")
#!/usr/bin/env python from train_lib import train if __name__ == '__main__': train()