我正在使用Google Cloud Datalab中的keras和tensorflow训练模型。我想在Cloud ML中运行培训工作。是否可以使用%% bash [...]
命令执行此操作?
让我们说我的模型看起来像这样:
X = tf.placeholder(tf.float32, shape=[None, num_inputs])
hidden = fully_connected(X, num_hidden, activation_fn=None)
outputs = fully_connected(hidden, num_outputs, activation_fn=None)
loss = tf.reduce_mean(tf.square(outputs - X))
optimizer = tf.train.AdamOptimizer(learning_rate)
train = optimizer.minimize( loss)
init = tf.global_variables_initializer()
num_steps = 3000
with tf.Session() as sess:
sess.run(init)
for iteration in range(num_steps):
sess.run(train,feed_dict={X: scaled_data})
我如何在云ML工作中进行培训?
答案 0 :(得分:2)
您可以执行以下步骤:
整理代码(https://cloud.google.com/ml-engine/docs/tensorflow/packaging-trainer),如下所示: ./ ./setup.py 。/培养/ ./init.py ./task.py
这里setup.py包含你的依赖项。 task.py是你的教练的python模块,所以你的代码应该移动到那里。此处还有一个CloudML示例:https://github.com/GoogleCloudPlatform/cloudml-samples/tree/master/iris/trainer
在Datalab或Jupyter中,有一个%% file命令可以将文件保存到本地磁盘。这是创建和编辑py文件的一种方法。
运行“gcloud ml-engine jobs submit training”命令提交培训请求。例如:
gcloud ml-engine jobs提交培训my-job-id --runtime-version = 1.6 --module-name trainer.task --job-dir = gs:// mybucket / mydir --region us-central1 - - --param1 value1 --param2 value2