Google Cloud:如何在Cloud Datalab中使用Cloud ML

时间:2018-04-09 14:49:40

标签: tensorflow google-cloud-platform google-cloud-ml google-cloud-datalab

我正在使用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工作中进行培训?

1 个答案:

答案 0 :(得分:2)

您可以执行以下步骤:

  1. 整理代码(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文件的一种方法。

  2. 运行“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