在TensorFlow训练期间设置Tensor值。
tfset的Python项目详细描述
在上更改TensorFlow训练课程的超参数。 苍蝇该包允许您计划更改 用一个简单的命令得到任意张量的值。
要求
- python>;=3
- TensorFlow=1.0
设置
使用pip安装软件包:
pip install tfset
或者从github克隆并安装:
git clone https://github.com/ondrejba/tfset.git
cd tfset
python setup.py install
用法
tfset演示
支票 MNIST_demo.ipynb 在一个简单的 训练脚本。
服务器
导入tfset服务器。
import tfset.server as server
为超参数创建张量。
learning_rate = tf.get_variable("learning_rate", initializer=tf.constant(0.1, dtype=tf.float32)) dropout_prob = tf.get_variable("dropout_prob", initializer=tf.constant(0.9, dtype=tf.float32))
创建并启动会话服务器
# "session" is a Tensorflow session s, thread = server.run_server([learning_rate, dropout_prob], session)
定期检查事件。
# "step" is the global step of your training procedure s.check_events(step)
停止服务器。
s.shutdown() thread.join(timeout=10)
客户
获取状态
tfset -s
添加事件(此事件将迭代时的学习速率设置为0.01 10000)。
tfset -a-n learning_rate:0 -i 10000 --value 0.01
删除事件(在本例中索引为0)。
tfset -r-e 0
事件
tfset基于 事件。事件包含以下信息:
- 迭代:何时执行事件
- 张量名称:要更改哪个张量
- value:将张量设置为的值
使用事件的原因是您可能希望安排 未来的超参数变化(例如,学习率降低到10e-3 800K迭代)。如果针对同一张量的两个事件是 在同一个迭代中调度,稍后调度的是 将被处决。