问题描述
我正在尝试使用名为 azureml-sdk-for-r 的 R 包。它在底层使用 Python 并创建一个 docker 映像,最终在 Azure 中运行 Web 服务。在这种情况下,它是在本地部署的。我的评分脚本 score1.R 与运行此脚本的文件夹位于同一文件夹中:
library(azuremlsdk)
interactive_auth <- interactive_login_authentication(tenant_id="296bf094-bdb4-488f-8ebd-92b2dd1464c2")
ws <- get_workspace(
name = "xxx",subscription_id = "xxx",resource_group ="xxx",auth = interactive_auth
)
model <- get_model(ws,name = "iris")
r_env <- r_environment(name = "r_env")
# Create inference config
inference_config <- inference_config(
entry_script = "score1.R",source_directory = ".",environment = r_env)
local_deployment_config <- local_webservice_deployment_config()
service <- deploy_model(ws,'rservice-local',list(model),inference_config,local_deployment_config)
# Wait for deployment
wait_for_deployment(service,show_output = TRUE)
# Show the port of local service
message(service$port)
主要问题似乎是这个(见下面更长的输出):
cannot open file '/var/azureml-app/iris/score1.R': No such file or directory
我需要在本地创建这个文件夹吗?它看起来像一个 Unix/Linux 文件夹,但我在 Windows 中工作。任何输入将不胜感激。谢谢!
Downloading model iris:2 to C:\Users\xxx\AppData\Local\Temp\azureml_7umw0t9_\iris\2
Generating Docker build context.
Package creation Succeeded
Logging into Docker registry cc59583154644237ac24ee803a92cae3.azurecr.io
Logging into Docker registry cc59583154644237ac24ee803a92cae3.azurecr.io
Building Docker image from Dockerfile...
Step 1/5 : FROM cc59583154644237ac24ee803a92cae3.azurecr.io/azureml/azureml_dc59d71b190aaafb07186456877418a2
---> 2918aba9130a
Step 2/5 : copY azureml-app /var/azureml-app
---> ae213899c373
Step 3/5 : RUN mkdir -p '/var/azureml-app' && echo eyJhY2NvdW50Q29udGV4dCI6eyJzdWJzY3JpcHRpb25JZCI6IjljMzQwZmRjLTkxZjMtNDQ0MC1hY2E2LWZlMDI1MzcxYjJlNCIsInJlc291cmNlR3JvdXBOYW1lIjoid2xscC11a3MtZHNjb2duaXRpdmUxLXByb2QtcmciLCJhY2NvdW50TmFtZSI6ImNzMTgwM18xIiwid29ya3NwYWNlSWQiOiJjYzU5NTgzMS01NDY0LTQyMzctYWMyNC1lZTgwM2E5MmNhZTMifSwibW9kZWxzIjp7fSwibW9kZWxzSW5mbyI6e319 | base64 --decode > /var/azureml-app/model_config_map.json
---> Running in 01570d486eb8
---> a2bbc6c636e2
Step 4/5 : RUN mv '/var/azureml-app/tmpj9wzfxgn.py' /var/azureml-app/main.py
---> Running in 189df81a5a5a
---> 0834b25b17a4
Step 5/5 : CMD ["runsvdir","/var/runit"]
---> Running in bf4131850781
---> de2753228808
Successfully built de2753228808
Successfully tagged rservice-local:latest
Container (name:cLever_gates,id:55ef32d18feea2f992d1d35be693b11152dd085d62c8d62ad2e4eb56c9f384ef) cannot be killed.
Container has been successfully cleaned up.
Image sha256:38072d6617727143b38775af5d2e1e36dd63e1abc5f77e557f9281fecde1d973 successfully removed.
Starting Docker container...
Docker container running.
> # Wait for deployment
> wait_for_deployment(service,show_output = TRUE)
Checking container health...
Container Logs:
2021-05-22T11:05:07,339798800+00:00 - rsyslog/run
2021-05-22T11:05:07,340369100+00:00 - gunicorn/run
2021-05-22T11:05:07,341838600+00:00 - iot-server/run
File not found: /var/azureml-app/.
Starting HTTP server
2021-05-22T11:05:07,354541500+00:00 - Nginx/run
rsyslogd: /azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/libuuid.so.1: no version information available (required by rsyslogd)
EdgeHubConnectionString and IOTEDGE_IOTHUBHOSTNAME are not set. Exiting...
2021-05-22T11:05:07,527848400+00:00 - iot-server/finish 1 0
2021-05-22T11:05:07,529842800+00:00 - Exit code 1 is normal. Not restarting iot-server.
Starting gunicorn 20.1.0
Listening at: http://127.0.0.1:31311 (14)
Using worker: sync
worker timeout is set to 300
Booting worker with pid: 42
SPARK_HOME not set. Skipping PySpark Initialization.
Initializing logger
2021-05-22 11:05:08,436 | root | INFO | Starting up app insights client
logging socket was found. logging is available.
logging socket was found. logging is available.
2021-05-22 11:05:08,437 | root | INFO | Starting up request id generator
2021-05-22 11:05:08,437 | root | INFO | Starting up app insight hooks
2021-05-22 11:05:08,437 | root | INFO | Invoking user's init function
no request id,/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning: Error in file(filename,"r",encoding = encoding) :
cannot open the connection
warnings.warn(x,RRuntimeWarning)
no request id,/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning: In addition:
warnings.warn(x,/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning: Warning message:
warnings.warn(x,/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning: In file(filename,encoding = encoding) :
warnings.warn(x,/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning:
warnings.warn(x,/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning: cannot open file '/var/azureml-app/iris/score1.R': No such file or directory
warnings.warn(x,RRuntimeWarning)
2021-05-22 11:05:08,445 | root | ERROR | User's init function Failed
2021-05-22 11:05:08,446 | root | ERROR | Encountered Exception Traceback (most recent call last):
File "/var/azureml-server/aml_blueprint.py",line 182,in register
main.init()
File "/var/azureml-app/main.py",line 35,in init
driver_module.init()
File "/var/azureml-app/iris/_generated_score.py",line 15,in init
robjects.r.source("{}".format(score_r_path))
File "/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/robjects/functions.py",line 178,in __call__
return super(SignatureTranslatedFunction,self).__call__(*args,**kwargs)
File "/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/robjects/functions.py",line 106,in __call__
res = super(Function,self).__call__(*new_args,**new_kwargs)
rpy2.rinterface.RRuntimeError: Error in file(filename,encoding = encoding) :
cannot open the connection
2021-05-22 11:05:08,446 | root | INFO | Waiting for logs to be sent to Application Insights before exit.
2021-05-22 11:05:08,446 | root | INFO | Waiting 30 seconds for upload.
/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning: Error in file(filename,encoding = encoding) :
cannot open the connection
warnings.warn(x,RRuntimeWarning)
/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning: In addition:
warnings.warn(x,RRuntimeWarning)
/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning: Warning message:
warnings.warn(x,RRuntimeWarning)
/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning: In file(filename,RRuntimeWarning)
/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning:
warnings.warn(x,RRuntimeWarning)
/azureml-envs/azureml_da3e97fcb51801118b8e80207f3e01ad/lib/python3.6/site-packages/rpy2/rinterface/__init__.py:146: RRuntimeWarning: cannot open file '/var/azureml-app/iris/score1.R': No such file or directory
warnings.warn(x,RRuntimeWarning)
Worker exiting (pid: 42)
Shutting down: Master
Reason: Worker Failed to boot.
2021-05-22T11:05:38,714166800+00:00 - gunicorn/finish 3 0
2021-05-22T11:05:38,716136000+00:00 - Exit code 3 is not normal. Killing image.
Error: Container has crashed. Did your init method fail?
Error in py_call_impl(callable,dots$args,dots$keywords) :
WebserviceException: WebserviceException:
Message: Error: Container has crashed. Did your init method fail?
InnerException None
ErrorResponse
{
"error": {
"message": "Error: Container has crashed. Did your init method fail?"
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)