您可以 运行 python 在 AWS Lambda 中使用 RAY 从 IDE(例如 PyCharm)远程编码吗?

Can you run python code with RAY in AWS Lambda, remotely from an IDE (eg. PyCharm)?

热衷于 运行 python 代码库,它在 AWS Lambda/无服务器基础设施上使用 "RAY"。

这可能吗?

我追求的是: - 能够在无服务器 (AWS Lambda) 上 运行 python 代码(使用 RAY 库),利用许多 CPUs/GPUs - 运行 来自本地机器的代码 IDE (PyCharm) - 在本地机器/本地浏览器中显示图形(例如 Matplotlib)

考虑是 RAY 运行 Windows。

请告诉我这是否可行(如果可能,最好的设置方法)。

谢谢! CWSE

import boto3, json

#pass profile to boto3
boto3.setup_default_session(profile_name='default')

lam = boto3.client('lambda', region_name='us-east-1')    
payload = {
        "arg1": "val1",
        "arg2": "val2"
    }

payloadJSON = json.dumps(payload)
lam.invoke(FunctionName='some_lambda', InvocationType='Event', LogType='None', Payload=payloadJSON)

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lambda.html#Lambda.Client.invoke

如果你有一个 creds 文件,你可以 cat ~/.aws/credentials 文件,你可以获得会话设置的角色。 https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html

AWS Lambda

AWS Lambda and is tragically suited for distributed training of neural networks. It's maximum run time is 15 minutes,它们没有足够的内存来保存数据集(可能只有一小部分)。

您可能希望 AWS Lambda 用于轻量级推理作业在您的神经 network/ML 模型训练完成后

由于 AWS Lambda 会自动缩放,因此它非常适合单个图像分类和多个用户的即时 return 等任务。

对于并行和分布式训练,您应该追求的是 AWS EC2 instances. For deep learning p3 isntances might be a good choice due to Tesla V100 offering. For more CPU heavy load, c5 个实例可能是一个不错的选择。

说到 Ray,它确实不支持 Windows、,但它支持 Docker(参见 installation guide)。您可以在 mounting/copying 您的源代码使用此命令进入容器后使用预先配置的射线登录容器:

docker run -t -i ray-project/deploy

和 运行 从那里开始。 docker 安装 Windows see here。这种方式应该可行。如果没有,请使用其他 docker 图像,例如 ubuntu,设置您需要的所有内容(ray 和其他库),并从容器内设置 运行(或者更好的是,使容器可执行以便输出随心所欲地连接到您的控制台)。

这样应该可以。 如果没有,您可以手动登录小型 AWS EC2 实例,在那里设置您的环境,然后 运行。

您可能希望检查 this friendly introduction to settings and ray documentation 以获取有关如何配置您的确切用例的信息。