TensorFlow入门
”TensorFlow是目前最流行的深度学习框架,没有之一;背靠google这颗大树,Alpha狗光环加持,不得不是深度学习人员的首选。静态计算视图+数据流,灵活的底层API适合对深度神经网络有深刻认识的使用者,不过不够清晰的文档一直为人诟病,瑕不掩瑜。“
本期主要介绍TensorFlow(下称tf)的一些特点
- 熟悉的张量计算api:这是使用过numpy的朋友的福利,tf中对于张量的计算api和numpy非常类似,上手没有任何难度
- 基础而灵活的神经网络api,举个例子:l2 regularization;tf中的使用,89、90和97行
而Pytorch中的使用:
仅仅一个参数weight_decay搞定,非常方便,但是过于方便,不利于使用者深入理解
- 丰富的api:gan,seq2seq,crf等等流行的模型都有涵盖
- 人性化的模型训练监控Supervisor
- 结果可视化 - Tensorboard
本期代码是以TensorFlow为框架用lstm+cnn实现文本分类,数据是TREC
模型初始化:
- global_step - 模型全局的步骤
- l2_loss - L2 regularization
- uniform_init - 随机初始化
- train_op - 参数优化,本期使用Adam
placeholder初始化
- input、label - 训练数据和标签
计算视图初始化,lstm和cnn部分
训练
- 以sess(会话)为媒介控制训练,数据的流入和流出也是经过session
训练和测试
- session定义 - 82行
- summary_writer - 上文中Tensorboard的数据来源