Можете ли вы запустить python код с RAY в AWS Lambda, удаленно из IDE (например, PyCharm)? - PullRequest
0 голосов
/ 28 апреля 2020

Стремится запустить библиотеку кода python, который использует "RAY", на AWS Лямбда / безсерверная инфраструктура.

Возможно ли это?

Чего я добиваюсь : - Возможность запускать код python (с библиотекой RAY) на безсерверных (AWS Lambda), используя много процессоров / графических процессоров - Запускать код из IDE локальной машины (PyCharm) - Отображать графику (например, Matplotlib) локальный компьютер / в локальном браузере

Примите во внимание, что RAY не работает на Windows.

Пожалуйста, дайте мне знать, если это выполнимо (и, если возможно, лучший подход к настройке ).

Спасибо! CWSE

Ответы [ 2 ]

1 голос
/ 01 мая 2020

AWS Lambda

AWS Lambda не поддерживает GPU и трагически подходит для распределенного обучения нейронных сетей. Максимальное время выполнения: 15 минут , у них недостаточно памяти для хранения набора данных (может быть, только небольшая его часть).

Возможно, вы захотите AWS Lambda для облегченных заданий вывода после обучения вашей нейронной сети / модели ML .

Поскольку AWS Lambda автомасштабирует, она будет хорошо подходить для таких задач, как классификация одного изображения и немедленный возврат для нескольких пользователей.

Луч

Для параллельного и распределенного обучения вам нужно набрать AWS EC2 экземпляров . Для углубленного изучения p3 isntances может быть хорошим выбором благодаря предложению Tesla V100. Для более высокой нагрузки на процессор могут подойти экземпляры c5 .

Когда речь идет о Ray, он действительно не поддерживает Windows, , но поддерживает Docker (см. руководство по установке ). Вы можете войти в контейнер с предварительно настроенным лучом после монтирования / копирования вашего исходного кода в контейнер с помощью этой команды:

docker run -t -i ray-project/deploy

и запустить его оттуда. Для docker установки на Windows см. Здесь . Это должно быть выполнимо таким образом. Если нет, используйте какой-нибудь другой docker образ, такой как ubuntu, настройте все, что вам нужно (ray и другие библиотеки), и запустите его из контейнера (или еще лучше, сделайте контейнер исполняемым, чтобы он выводил на вашу консоль так, как вам хотелось).

Так должно быть. Если нет, вы можете вручную войти в небольшой экземпляр AWS EC2, настроить там свою среду и запустить ее.

Вы можете sh проверить это дружественное введение в настройки и ray документация для получения информации о том, как сконфигурировать ваш точный вариант использования.

0 голосов
/ 28 апреля 2020
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, вы можете отследить файл ~ / .aws / credentials и получить свою роль для настройка сеанса https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html

...