parser.add_argument('--epochs', type=int, default=10, help='Number of iterations') args = parser.parse_args() print("Begin Reading Corpus Data and Tokenizing") data_reader = CBOWCorpusReader(args.corpus) grams = data_reader.get_ngram_words() words_freq = data_reader.get_words_frequency() word2idx = data_reader.get_word2idx() idx2word = data_reader.get_idx2word() print("End Reading the Data") args.vocab_size = len(words_freq) cbow = CBOW(args) cbow.init_session() cbow.build() print("Begin Training") learning_curve = [] for epoch in range(0, args.epochs): error = 0.0 print(epoch) for batch in grams: x_input, y_output, x_input_reshape = [], [], [] for item in batch: def get_one_hot(idx): one_hot = ([0] * (args.vocab_size + 1)) one_hot[idx] = 1