Windows错误[5]:拒绝访问H2o使用Python进行深度学习框架初始化

2024-05-21 00:20:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Windows10、Anaconda2.4.1和Python2.7.11,并尝试从oxdata运行h2o包。在

为了安装水,我使用了:

pip install h2o

我正在尝试初始化它,正如Python Vignette of H2o包中给出的那样。在

^{pr2}$

但是我得到了一个很长的回溯,提到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在本地主机和端口54321上完全启动。在

另外,如果在python中启动h2o,也就是在python中

h2o.init()

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

但是我希望避免预启动h2o实例的步骤,而希望用python启动它。我不知道我的问题是否可以在别人的系统上重现。在

我只是想用

^{pr2}$

在python中启动h2o。在

请尝试提供解决方案。在


Tags: inpysizeinitliblocallinemem
1条回答
网友
1楼 · 发布于 2024-05-21 00:20:12

我试着用下面的代码来解决我的问题。在

"""
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()

它产生了以下输出:

^{pr2}$

相关问题 更多 >