使用cloudml训练Keras模型失败

使用cloudml训练Keras模型失败,r,keras,google-cloud-ml,R,Keras,Google Cloud Ml,我刚刚开始使用R进行深入学习,并试图找出如何使用cloudml包在Google Cloud GPU上训练keras模型 我一直在玩尼采文本生成的例子- -它在我的本地机器上运行良好,但不幸的是,当我尝试使用cloudml包运行它时,它无法正确执行 我将示例代码保存为“nietzsche_eg.R”,然后运行以下代码- library (cloudml) options (gcloud.binary.path="C:/Users/taman/AppData/Local/Google/CloudS

我刚刚开始使用R进行深入学习,并试图找出如何使用cloudml包在Google Cloud GPU上训练keras模型

我一直在玩尼采文本生成的例子- -它在我的本地机器上运行良好,但不幸的是,当我尝试使用cloudml包运行它时,它无法正确执行

我将示例代码保存为“nietzsche_eg.R”,然后运行以下代码-

library (cloudml)

options (gcloud.binary.path="C:/Users/taman/AppData/Local/Google/CloudSDK/google-cloud-sdk/bin/gcloud")
options (gsutil.binary.path="C:/Users/taman/AppData/Local/Google/CloudSDK/google-cloud-sdk/bin/gsutil")

cloudml_train ("nietzsche_eg.R", master_type = "standard_p100")
不幸的是,我得到了以下错误-

Error: ValueError: Layer lstm_1 was called with an input that isn't a symbolic tensor. Received type: <class 'keras.engine.sequential.Sequential'>. Full input: [<keras.engine.sequential.Sequential object at 0x7f64b3b75610>]. All inputs to the layer should be tensors. Detailed traceback: File "/usr/local/lib/python2.7/dist-packages/keras/layers/recurrent.py", line 500, in __call__ return super(RNN, self).__call__(inputs, **kwargs) File "/usr/local/lib/python2.7/dist-packages/keras/engine/base_layer.py", line 414, in __call__ self.assert_input_compatibility(inputs) File "/usr/local/lib/python2.7/dist-packages/keras/engine/base_layer.py", line 285, in assert_input_compatibility str(inputs) + '. All inputs to the layer ' 
Error:ValueError:Layer lstm_1是用非符号张量的输入调用的。收到的类型:。完整输入:[]。层的所有输入都应该是张量。详细回溯:文件“/usr/local/lib/python2.7/dist-packages/keras/layers/recurrent.py”,第500行,在调用返回超级(RNN,self)中,在调用返回超级(RNN,self)中,在调用返回超级(inputs,**kwargs)文件“/usr/local/lib/python2.7/dist-packages/keras/engine/base\u-layer.py”,第414行,在调用断言输入兼容性(inputs)文件中“/usr/local/lib/python2.7/dist packages/keras/engine/base_layer.py”,第285行,在assert_input_compatibility str(inputs)+'中。层的所有输入”

非常感谢您对问题的任何帮助或见解。谢谢!

您正在从Google cloud storage读取输入文本文件,而不是通过http,对吗?cloudmle工作人员无法接触到Google数据中心以外的地方。

我知道您刚刚复制并粘贴了该示例,但它是否在本地运行?该错误表示存在错误lformed model——似乎模型对象被作为输入传递到LSTM层(而不是实际输入)。我对R语法不太熟悉,不知道它应该是什么,但
model%>%layer_lstm
似乎与我看过的教程相匹配。它确实在本地运行。因此我认为我的云项目中有些配置不正确。我很抱歉,但我认为我无法在这里提供帮助。错误消息听起来像是如果
model%>%fit(model,…)
正在被调用。我唯一能想到做的就是联系R包的作者和/或尝试不同的运行时版本。感谢您的帮助!我运行了部分来读取和标记文本,该部分运行良好。我打印了部分文本以供检查,并在那里运行。其余代码在本地运行,因此我不确定发生了什么你是如何在将培训应用程序发送到ML引擎时打印文本的?尝试获取有关ML引擎培训过程中发生的事情的更多信息,而不仅仅是接收执行响应。