【问题标题】:Windows Error [5] : Access Denied H2o Deep Learning Framework Initialization using PythonWindows 错误 [5] : Access Denied H2o Deep Learning Framework Initialization using Python
【发布时间】:2016-01-30 15:23:41
【问题描述】:

我正在使用 Windows 10、Anaconda 2.4.1 和 Python 2.7.11 并尝试从 oxdata 运行 h2o 包。

要安装 h2o,我使用过:

pip install h2o

我正在尝试按照 H2o 包的 Python Vignette 中给出的方式对其进行初始化。

import h2o
h2o.init()

但是我得到了一个很长的回溯,提到 Windows 错误 [5],如下所示:

    No instance found at ip and port: localhost:54321. Trying to start local jar...


JVM stdout: c:\users\ashish\appdata\local\temp\tmpech694\h2o_Ashish_started_from_python.out
JVM stderr: c:\users\ashish\appdata\local\temp\tmp7aoeza\h2o_Ashish_started_from_python.err
Using ice_root: c:\users\ashish\appdata\local\temp\tmpjijmdl

Traceback (most recent call last):

  File "<ipython-input-2-e7cfdc50af66>", line 1, in <module>
    h2o.init()

  File "C:\Users\Ashish\Anaconda2\lib\site-packages\h2o\h2o.py", line 668, in init
    H2OConnection(ip=ip, port=port,start_h2o=start_h2o,enable_assertions=enable_assertions,license=license,max_mem_size_GB=max_mem_size_GB,min_mem_size_GB=min_mem_size_GB,ice_root=ice_root,strict_version_check=strict_version_check)

  File "C:\Users\Ashish\Anaconda2\lib\site-packages\h2o\connection.py", line 81, in __init__
    cld = self._start_local_h2o_jar(max_mem_size_GB, min_mem_size_GB, enable_assertions, license, ice_root, jar_path)

  File "C:\Users\Ashish\Anaconda2\lib\site-packages\h2o\connection.py", line 181, in _start_local_h2o_jar
    jver = subprocess.check_output([command, "-version"], stderr=subprocess.STDOUT)

  File "C:\Users\Ashish\Anaconda2\lib\subprocess.py", line 566, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)

  File "C:\Users\Ashish\Anaconda2\lib\subprocess.py", line 710, in __init__
    errread, errwrite)

  File "C:\Users\Ashish\Anaconda2\lib\subprocess.py", line 958, in _execute_child
    startupinfo)

WindowsError: [Error 5] Access is denied

但是如果我使用 R 语言安装 h2o 包

install.packages("h2o")

然后尝试在R中运行

library(h2o)
h <- h2o.init()

没有错误,h2o 在 localhost 和端口 54321 上完美启动。

另外,现在如果在 python 中启动 h2o,即在 python 中

h2o.init()

然后它连接到已经运行的 h2o 实例并执行所有操作没有任何问题。

但我想避免预先启动 h2o 实例的步骤,并想用 python 启动它。我不知道我的问题是否可以在其他人的系统上重现。

我只是想用

import h2o
h2o.init()

在 python 中启动 h2o。

请尝试提供解决方案。

【问题讨论】:

    标签: python r windows initialization h2o


    【解决方案1】:

    我尝试使用以下代码解决我的问题。

    """
    Code to initialize H2O instance
    
    @author: Naimish Agarwal
    """
    
    import subprocess as sp
    import sys
    import os.path as p
    import h2o
    
    # path of h2o jar file
    h2o_path = p.join(sys.prefix, "h2o_jar", "h2o.jar")
    
    # subprocess to launch h2o
    # the command can be further modified to include virtual machine parameters
    sp.Popen("java -jar " + h2o_path)
    
    # h2o.init() call to verify that h2o launch is successfull
    h2o.init()
    

    它产生了以下输出:

    --------------------------  --------------------------
    H2O cluster uptime:         2 seconds 603 milliseconds
    H2O cluster version:        3.6.0.8
    H2O cluster name:           Ashish
    H2O cluster total nodes:    1
    H2O cluster total memory:   3.54 GB
    H2O cluster total cores:    4
    H2O cluster allowed cores:  4
    H2O cluster healthy:        True
    H2O Connection ip:          127.0.0.1
    H2O Connection port:        54321
    --------------------------  --------------------------
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-28
      • 2019-05-04
      • 2020-10-30
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      相关资源
      最近更新 更多