Git Product home page Git Product logo

dpcnn-textcnn-pytorch-inception's Introduction

声明

  • 由于本项目源于合作项目,故无法提供LoadData.py部分,敬请谅解。
  • 本项目主要为针对DPCNN(Deep Pyramid Convolutional Neural Networks for Text Categorization )的论文复现以及基于知乎看山杯Inception的修改和复现,后者效果略优。
  • 本项目基于Pytorch框架实现,但内部使用 tensorboardX 进行tensorboard支持。
  • 项目所需非基础requirement列于requirements.txt中,可使用pip install -r requirements.txt命令一键安装。
  • 模型置于models文件夹下。
  • 感谢Zekang Li的部分代码合作。

模型简介

  • BasicModule:基类模型,提供基础的保存读取功能
  • TextCNNDeep:基于原始论文的dpcnn模型,前置特征提取为标准TextCNN
  • TextCNNInc:基于知乎看山杯的TextCNN模型
  • TextCNNIncDeep:改进后的dpcnn模型,基于知乎看山杯的TextCNN模型

参数部分

公共参数设置

  • self.USE_CUDA = torch.cuda.is_available() # GPU是否可用
  • self.RUNNING_ON_SERVER = False # 代码运行在本地还是服务器
  • self.SUMMARY_PATH = "summary/TextCNN_char" # 设定tensorboard保存路径
  • self.NET_SAVE_PATH = "./source/trained_net/" # 训练好的网络的储存位置
  • self.TRAIN_DATASET_PATH = "../test_train/xx.txt" # 训练集位置
  • self.TEST_DATASET_PATH = "../test_train/xx.txt" # 测试集位置
  • self.NUM_EPOCHS = 1000 # 本次BATCH数目
  • self.BATCH_SIZE = 32 # 每个BATCH数据大小
  • self.TOP_NUM = 4 # 测试时需求前几的Acc
  • self.NUM_WORKERS = 4 # pytorch用几个线程工作读数据
  • self.IS_TRAINING = True # 选择模式“训练”或“测试”
  • self.ENSEMBLE_TEST = False # 测试模式下是否需要模型融合测试
  • self.LEARNING_RATE = 0.001 # 学习率
  • self.RE_TRAIN = False # 本次训练是否要加载之前训练好的模型
  • self.TEST_POSITION = 'xxx Server' # 本次训练运行在哪里

模型共享参数设置

  • self.OPTIMIZER = 'Adam' # 优化器选择
  • self.USE_CHAR = True # 使用char还是词
  • self.USE_WORD2VEC = True # 使用词语时是否使用词向量
  • self.NUM_CLASSES = 1890 # 本次训练的分类数
  • self.EMBEDDING_DIM = 512 # 词嵌入的维度
  • self.VOCAB_SIZE = 20029 # 生成的词库大小
  • self.CHAR_SIZE = 3403 # 生成的字库大小

TextCNN模型设置

  • self.TITLE_DIM = 200 # 中间层维度
  • self.SENT_LEN = 20 # 句子截断长度
  • self.LINER_HID_SIZE = 2000 # fc中间层维度
  • self.KERNEL_SIZE = [1,2,3,4,5] # 卷积核大小

TextCNNInc模型设置

self.SIN_KER_SIZE = [1, 3] # 单层卷积卷积核大小 self.DOU_KER_SIZE = [(1, 3), (3, 5)] # 双层卷积卷积核大小。元组内第一项为第一层 # conv的核尺寸,第二项为第二层conv的核尺寸,

dpcnn-textcnn-pytorch-inception's People

Contributors

miracleyoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dpcnn-textcnn-pytorch-inception's Issues

DPCNN preactivation

原文中好像是先进行了激活再卷积的吧,如果我没有理解错的话,您这个代码是卷积后再激活的吗?

模型参数保存失败

self.question_convs保存的模型参数不正常,重新调用模型后时而正常时而准确率极低::>_<::找了好久才发现是这里出现的问题。。。不知你们是否有同样的问题?

非成员变量引起的保存失败

谢谢分享这样优秀的代码~
不过我在代码中发现了一些问题,inc_deep等代码中blocks所指向的子模型不是模型的成员变量,这样导致了模型参数保存不全。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.