h2o.ai H2OResponseError:服务器错误water.exceptions.H2ONotFoundArgumentException:错误:文件不存在

时间:2017-12-05 01:27:12

标签: h2o

在jupyter笔记本中的python上使用h2o并收到错误消息:

...
/home/mapr/anaconda2/lib/python2.7/site-packages/h2o/backend/connection.pyc in _process_response(response, save_to)
    723         # Client errors (400 = "Bad Request", 404 = "Not Found", 412 = "Precondition Failed")
    724         if status_code in {400, 404, 412} and isinstance(data, (H2OErrorV3, H2OModelBuilderErrorV3)):
--> 725             raise H2OResponseError(data)
    726 
    727         # Server errors (notably 500 = "Server Error")
H2OResponseError: Server error water.exceptions.H2ONotFoundArgumentException: 
Error: File <path to data file I'm trying to import> does not exist.
尝试使用

导入数据时

train = h2o.import_file(path = os.path.realpath("relative path to data file"))

然而,该文件确实存在于指定的路径上。为什么会发生这种情况?

详情

关注h2o deeplearning example,以便在jupyter笔记本中从python代码访问h2o服务。一切正常,直到需要导入.csv数据的part,例如

spiral = h2o.import_file(path = os.path.realpath("../data/spiral.csv")) 

此时引发上述错误。

源代码注释
  

#在这种情况下,群集正在我们的笔记本电脑上运行。数据文件由相对位置导入此笔记本。

然而,当跑步时

os.path.exists(os.path.realpath("./data/<my data csv file>"))
笔记本中的

,响应为true。因此看起来相对路径被python os包*识别,但是h2o.import_file()方法存在一些问题。

这可能会发生什么?感谢。

注意:我正在使用实际运行h2o和jupyter-notebook服务的机器进行端口转发,例如:

远程机器:

$jupyter-notebook --no-browser --port=8889

本地机器:

$ssh -N -L localhost:8888:localhost:8889 myuser@mnode01

*目录结构为:

bin  
data
  |
  |_____ mydata.csv  
include  
lib  
remote-h2o.ipynb

更新

认为已经发现了问题。 h2o python docs指定

  

数据路径必须是H2O群集中每个节点的有效路径。如果H2O集群中的某个节点无法看到该文件,则H2O集群将抛出异常。

这提出了一个问题,这是否意味着所有集群节点都需要具有相同的virtualenv(具有相同的绝对路径),我正在运行jupyter笔记本并保存数据/ mydata.csv?

0 个答案:

没有答案