Предварительные пакеты для AWS Lambda
Селен на Phantomjs. На самом деле - готовый инструмент для соскоб. Например, демонстрация теперь открывает случайную страницу в Википедии и отправляет свой заголовок. (Phantomjs в то же время замаскирует себя под обычный браузер, знает, как войти в систему, щелкнуть и заполнять формы) также добавляли запросы, так что вы можете выполнять запросы API на различные ресурсы, чтобы отказаться / забрать информацию.
Полезно для веб -тестирования и соскоба.
Текущая демонстрация открывает случайную страницу от Wiki (https://en.wikipedia.org/wiki/special:random) и печатает заголовок.
git clone https://github.com/ryfeus/lambda-packs.git
cd lambda-packs/Selenium_PhantomJS/source/
serverless deploy
serverless invoke --function main --log
Вы также можете увидеть результаты конечной точки API Gateway в веб -браузере.
https://selenium-python.readthedocs.io/
Что имеет к этому отношение лямбда? Короче говоря, на AWS в одном регионе вы можете одновременно запустить 200 ламбдах (подробнее, если вы пишете для поддержки). Lambda работает в 11 регионах. Таким образом, вы можете запустить параллельно более 2000 Lambdas, каждый из которых проведет нагрузочные испытания ваших услуг. Пять минут такого тестирования будут стоить всего один доллар.
Демонстрация в этом пакете пытается отправить запросы на github.com на 5 секунд с 1 соединением, а также провести фиктивное тест Pyresttest.
https://github.com/wg/wrk
https://github.com/svanoort/pyresttest
Пакет для анализа статических HTML -страниц. Разница здесь заключается в том, что он работает быстрее и потребляет меньше памяти, чем Phantomjs, но ограничено в терминах веб -сайтов, которые он может анализировать и другие функции.
serverless install -u https://github.com/ryfeus/lambda-packs/tree/master/Lxml_requests/source -n lxml-requests
cd lxml-requests
serverless deploy
serverless invoke --function main --log
wget https://github.com/ryfeus/lambda-packs/blob/master/Lxml_requests/buildPack.sh
docker pull amazonlinux:latest
docker run -v $(pwd):/outputs --name lambdapackgen -d amazonlinux:latest tail -f /dev/null
docker exec -i -t lambdapackgen /bin/bash /outputs/buildPack.sh
LXML 3.7.1
http://lxml.de/
Библиотека с открытым исходным кодом для машинного интеллекта. В основном революционизировал ИИ и сделал его более доступным. Использование TensorFlow на лямбде не так плохо, как может звучать - для некоторых простых моделей это самый простой и самый дешевый способ развертывания.
Как мировой код Hello Я использовал признание изображений, обученных на ImageNet (https://www.tensorflow.org/tutorials/image_recognition). Учитывая цену Lambda One Run (распознавание одной картины) будет стоить 0,00005 долл. США. Поэтому для доллара вы можете распознать 20 000 изображений. Это намного дешевле, чем практически любые альтернативы, хотя и полностью масштабируемые (200 функций могут выполняться параллельно) и могут быть легко интегрированы в облачную инфраструктуру. Текущая демонстрация загружает изображение по ссылке «ImageLink» из источника события (если пусто - затем загружает https://s3.amazonaws.com/ryfeuslambda/tensorflow/imagenet/cropped_panda.jpg)
Tensorflow 1.4.0
https://www.tensorflow.org/tutorials/image_recognition
Ночная версия архив составляет более 50 МБ в размере, но он все еще имеет право на использование с AWS Lambda (хотя вам нужно загрузить упаковку через S3). Для получения дополнительной информации здесь:
https://hackernoon.com/exploring-the-aws-lambda-deployment limits-9a8384b0bec3
serverless install -u https://github.com/ryfeus/lambda-packs/tree/master/tensorflow/source -n tensorflow
cd tensorflow
serverless deploy
serverless invoke --function main --log
Для Python2:
wget https://raw.githubusercontent.com/ryfeus/lambda-packs/master/Tensorflow/buildPack.sh
wget https://raw.githubusercontent.com/ryfeus/lambda-packs/master/Tensorflow/index.py
docker pull amazonlinux:latest
docker run -v $( pwd ) :/outputs --name lambdapackgen -d amazonlinux:latest tail -f /dev/null
docker exec -i -t lambdapackgen /bin/bash /outputs/buildPack.shДля Python3:
wget https://raw.githubusercontent.com/ryfeus/lambda-packs/master/Tensorflow/buildPack_py3.sh
wget https://raw.githubusercontent.com/ryfeus/lambda-packs/master/Tensorflow/index_py3.py
docker pull amazonlinux:latest
docker run -v $( pwd ) :/outputs --name lambdapackgen -d amazonlinux:latest tail -f /dev/null
docker exec -i -t lambdapackgen /bin/bash /outputs/buildPack_py3.shПримечание. Помните, что вы должны установить
python3.6для функциональной среды AWS Lambda.
ARN: AWS: LAMBDA: US-EAST-1: 339543757547: слой: TensorFlow-Pack
Пакет для поклонников машинного обучения, создания моделей и тому подобного. Я сомневаюсь, что существует более удобный способ развертывания модели в реальном мире.
http://scikit-learn.org/
Пакет инструментов обработки изображений, а не только для стиля изображения, но и большой набор алгоритмов компьютерного зрения.
В настоящее время доступны два пакета с застежкой, Pack.zip и Pack_nomatplotlib.zip, вы, вероятно, хотите использовать pack_nomatplotlib.zip. Смотрите #5 для получения дополнительной информации.
Scikit-Image 0,12,3
http://scikit-image.org/
Другой пакет инструментов обработки изображений, а не только для стиля изображения, но и большой набор алгоритмов компьютерного зрения.
https://pillow.readthedocs.io/
http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html
Пакет для поклонников статистики, ученых данных и инженеров данных. ОЗУ в Lambda составляет 1,5 гигабайта, а максимальное время работы - 5 минут. Я уверен, что этого будет достаточно для большинства задач.
Панды 0,19,0
http://pandas.pydata.org/
Библиотека OpenSource для обработки естественного языка в Python.
https://spacy.io/
Пример кода загружает языковую модель от S3 и использует ее для анализа предложения.
Библиотека OCR (оптическое распознавание символов) для распознавания текста с изображения.
https://github.com/tesseract-ocr/tesseract
Код "Привет, мир" в пакете создает пример каждого документа. По сути, эти LIBS - это низкая память (менее 128 МБ) и высокая скорость (менее 0,5 секунды), так что это примерно ~ 1 млн. Документов, генерируемых на 1 $ с точки зрения ценообразования AWS Lambda.
AWS Lambda Pack в Python для обработки спутниковых изображений. В основном он позволяет развернуть код Python простым и дешевым способом обработки спутниковых изображений или многоугольников. В коде «Hello World» пакета я загружаю красный, зеленый, синий Landsat 8 групп из AWS, создавать из него истинное изображение и загружать его в S3. Для него требуется 35 секунд и 824 МБ оперативной памяти, чтобы ~ 2500 сцен можно было обработать за 1 $.
Python 3.6 Pytorch
# You need `docker` before run
./build-with-docker.sh