谷歌云ML引擎无法正常工作

时间:2017-10-27 13:43:23

标签: tensorflow-gpu google-cloud-ml-engine

我一直在训练一个卷积神经网络,我在Google cloud ML engine上使用张量流开发了一段时间,但它没有用。我的工作成功运行,直到它达到了我的代码中的位置,我在我的cnn模型上运行训练操作,eval ops等,然后它因为某些未知原因而停留在那里。

这就是我提交工作的方式:

gcloud ml-engine工作提交培训" test_job9" --job-dir gs:// project / output --runtime-version 1.2 --module-name trainer.train_cnn_cloud --package-path ./trainer --region us-east1 --scale-tier BASIC_GPU - - trainpath gs://project/data/train.tfrecords --evalpath gs://project/data/valid.tfrecords

这是我的cpu和内存利用率在作业运行时的样子:

enter image description here

以下是我取消工作后如何查找过去的工作: enter image description here

这里是过去工作的日志:

enter image description here

正如您所看到的,它将所有输入分配给cpu,但是我的CNN模型中使用的所有变量(我在代码中明确分配给gpu)都分配给了gpu。

您可以根据我使用的日志记录查看代码卡在哪里:

 logging.info("\nStart training (save checkpoints in %s)\n" % self.config['jobdir'])
                for _ in range(self.config['numepochs']):
                    sess.run(train_iterator.initializer)
                    while True:
                        try:
                            start_time = time.time()
                            train_input_vals, train_label_vals = sess.run([train_features['input'], train_labels])
                            logging.info('Training vals retrieved')
                            feed_dict = {m._inputs:train_input_vals,
                                         m._labels:train_label_vals,
                                         m.batch_size:self.config['train_batch_size'],
                                         m.dropout_keep:self.config['dropout']}
                            _, loss_value, eval_ops, predictions, current_lr, curlabels= sess.run([m._train_op, m._total_loss,
                                                                                                   m._eval_op, m._predictions,
                                                                                                   m._learning_rate,
                                                                                                   m._labels_class1],
                                                                                                  feed_dict)
                            logging.info('loss retrieved')
                            global_step += 1

在运行火车和评估操作之前检索输入后,它会立即卡住。

代码在我的笔记本电脑上成功运行。值得注意的是,我使用python 3.6在我的笔记本电脑上运行代码,其中Windows 10为操作系统,gcloud ml-engine使用python 2.7Ubuntu。我在过去的运行中遇到了错误,但我认为使用_future_修复了这个错误。

非常感谢您对此进行调查!

0 个答案:

没有答案