В этом посте вы узнаете, как установить и настроить экземпляр сервера AWS EC2 для использования с python sklearn, а также как передать данные и код на ваш сервер и обучить простой классификатор случайного леса.

Во-первых, нам нужна учетная запись на AWS. Для создания учетной записи идем на портал AWS. Вы можете использовать существующую учетную запись AWS или зарегистрироваться.

Запустите свой экземпляр сервера

Что такое ЕС2?

Elastic Compute Cloud или EC2 образует центральную часть платформы облачных вычислений AWS, позволяя пользователям арендовать виртуальные компьютеры, на которых можно запускать собственные компьютерные приложения. Каждый виртуальный сервер, который мы предоставляем, называется экземпляром EC2. Итак, сначала нажмите «Сервисы» и выберите EC2, чтобы перейти к панели инструментов EC2:

Затем, чтобы создать новый экземпляр, нажмите «Запустить экземпляр». Экземпляры EC2 являются гибкими, и вы настраиваете их в соответствии со своими потребностями. Вы можете настроить EC2 для работы с различными операционными системами, включая Linux, Ubuntu, Windows и многие другие. Помимо операционной системы, вы также можете настроить тип и размер экземпляра, которые соответствуют количеству вычислительных ресурсов, памяти и сетевых возможностей, доступных для каждого экземпляра.

Чтобы выбрать операционную систему, мы выбираем образ машины Amazon (AMI). AMI — это моментальный снимок настроенной машины, который мы можем использовать в качестве отправной точки для загрузки экземпляра. Для этого поста я выбрал Amazon Linux 2 AMI.

Теперь мы выбираем оборудование, на котором будем запускать инстанс. Экземпляры Amazon EC2 t2.micro для Linux и Windows можно попробовать бесплатно. В этом посте мы используем t2.micro. Это небольшой экземпляр с 1 процессором.

Наконец, нажмите «Обзор и запуск». Далее нам нужно выбрать пару ключей SSH. Есть два варианта: «Выбрать существующую пару ключей», если вы уже использовали EC2 ранее и у вас есть пара, или вы можете сгенерировать новую пару ключей и сохранить ее на своем локальном компьютере.

Войдите в наш экземпляр EC2

Мы только что закончили запуск нашего экземпляра EC2, пришло время войти в систему и настроить его для использования.

Во-первых, мы ограничиваем права доступа к файлу пары ключей SSH. Для этого на вашем компьютере откройте терминал и перейдите в каталог, в который вы загрузили пару ключей SSH, затем введите:

chmod 600 my-key-pair.pem

Затем на панели инструментов AWS EC2 выберите «Запущенные экземпляры» и скопируйте «IPv4 Public IP» (в описании запущенного экземпляра) в буфер обмена. Откройте терминал и перейдите в каталог, в который вы загрузили пару ключей SSH, затем введите:

ssh -i my-key-pair.pem ec2-user@your_IPv4_Public_IP

Поздравляем, теперь вы входите в свою машину EC2.

Играйте со своим сервером

Дважды проверьте версию Python, набрав:

python --version

Затем давайте установим несколько пакетов Python для запуска нашего классификатора случайного леса.

Установка пипа:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py

Установка numpy, pandas и sklearn:

sudo pip install numpy
sudo pip install pandas
pip install -U scikit-learn

После завершения проверьте свою среду, набрав:

python -c "import numpy;print(numpy.__version__)"
python -c "import pandas;print(pandas.__version__)"
python -c "import sklearn;print(sklearn.__version__)"

Перенос файлов в экземпляры Linux из Linux с помощью SCP

В этом уроке мы будем использовать набор данных Titanic и простой классификатор Random Forest. Репо с обработанным набором данных и записной книжкой в ​​конце статьи. Затем нам нужно перенести наш код Python и набор данных в экземпляр EC2. Одним из способов передачи файлов между вашим локальным компьютером и экземпляром Linux является использование протокола безопасного копирования (SCP). Большинство компьютеров Linux, Unix и Apple включают клиент SCP по умолчанию. Мы передаем файл, используя IPv6-адрес экземпляра. На вашей рабочей станции в каталоге, где находится SSH, введите:

scp -i my-key-pair.pem demo_aws_titanic.py ec2-user@\[your_IPv4_Public_IP\]:~
scp -i my-key-pair.pem titanic.csv ec2-user@\[your_IPv4_Public_IP\]:~

Затем вам нужно снова войти в свой экземпляр EC2 (при необходимости):

ssh -i my-key-pair.pem ec2-user@your_IPv4_Public_IP

Наконец, мы можем запустить наш образец скрипта Python на сервере, набрав:

python demo_aws_titanic.py

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

Как только мы закончим, мы должны завершить наш экземпляр и ввести:

exit

Затем вернитесь к панели управления EC2 на консоли AWS, выберите работающий экземпляр, затем щелкните правой кнопкой мыши и выберите «Состояние экземпляра» и выберите «Завершить».

Поздравляю! Мы научились запускать, настраивать и останавливать экземпляр в облаке.

Репо с обработанным набором данных и блокнотом здесь.