|
05、项目模块架构分析与模型超参定义_视频
高清视频下载地址【回复本帖可见】:
- import tensorflow as tf
- from tensorflow import logging
- from tensorflow import gfile
- import numpy as np
- import math
- import os
- # 也能打印日志 tf.logging.info() 打列表不太好
- # verbosity 冗长
- logging.set_verbosity(logging.INFO)
- def get_default_params():
- # 管理所有模型的参数 超参
- return tf.contrib.training.HParams(
- # 一个词embedding之后的向量的长度
- num_embedding_size=16,
- # 步长 一个sentence中会有多少个词语
- # 虽然LSTM是支持不定长 但是minibatch是需要对齐的
- # 还有一种实现对minibatch也是不需要对齐的
- # 为了简单起见 固定的长度 使得每个句子在minibatch中被截断
- # 但是做预测的时候是可以变长的
- # TextCNN 也可以重用这个参数
- num_timesteps=50,
- # LSTM每一层的cell个数 每层都有32个lstm神经单元
- num_lstm_nodes=[32, 32],
- num_lstm_layers=2,
- # fc的神经元unit数目
- num_fc_nodes=32,
- batch_size=100,
- # 控制lstm梯度的大小 1.0是梯度的上限 如果梯度大于1.0就设为1.0 截断
- # lstm很容易发生 梯度爆炸 消失
- clip_lstm_grads=1.0,
- learning_rate=0.001,
- # 词频的阈值 只有超过10词的词频我们才考虑去训练模型
- # 出现次数太少 对模型训练没有意义
- num_word_threshould=10,
- )
- hps = get_default_params()
- print(hps.num_lstm_nodes)
- print(hps.num_word_threshould)
复制代码
|
|