batch_size是机器学习的一个重要参数,为了在内存效率和内存容量之间寻找最佳平衡。在学习Word_Embedding时,vocabulary_size = 10000, 隐层神经元个数为300,即embedding_size = 300,在做神经网络训练时,考虑到输入数据有10000,若采用全数据集Full Batch Learning,则神经网络训练参数由10000*(10000*300),数量级10^10,计算复杂度可想而知。WordEmbedding生成方式CBOW和n-gram,此代码采用n-gram方法,将所有的源句子按固定长度分割成很多batch,对batch_size数据进行训练。
# 定义输入
train_sources = tf.placeholder(tf.int32, shape=[batch_size])
# 初始化embeddings矩阵,这个就是经过多步训练后最终我们需要的embedding
embeddings = tf.Va