brightmart / text_classification

all kinds of text classification models and more with deep learning
MIT License
7.83k stars 2.57k forks source link

a02的cnn_multiple_layers问题 #111

Closed snaillp closed 5 years ago

snaillp commented 5 years ago

a02下的p7_TextCNN_model.py中多层CNN函数cnn_multiple_layers中,因为第一层conv的padding是SAME,卷积后会保持图的大小,因此输出的维度是[[batch_size, sequence_length, embedding_size, num_filters]],第二层卷积层开始时136行的reshape,最后一维写成1,会造成第一维变成batch_size*embedding_size,导致内存容易溢出,其实这里的reshape可以去掉的,修复这个问题之后,显存占用回到正常水平。 另外个人感觉,第一层没必要用SAME来padding,这里不像是图像,实际上横向是完整的词向量,padding出来的是没有实际含义的,第一层直接用VALID,横向宽度上是1,只在纵向多个词之间再次卷积即可

brightmart commented 5 years ago

good idea. thank you.