AWS lambda的预编译包装
phantomjs的硒。实际上 - 用于网络刮擦的现成工具。例如,该演示现在在Wikipedia打开一个随机页面,并发送其标题。 (同时,phantomjs伪装为普通浏览器,知道如何登录,单击并填写表单)也添加了请求,因此您可以为不同的资源删除 /取消信息。
对于网络测试和刮擦有用。
当前的演示从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
您还可以在Web浏览器中查看API网关端点的结果。
https://selenium-python.readthedocs.io/
Lambda与它有什么关系?简而言之,您可以同时运行200个lambdas(如果您写信以支持)。 Lambda在11个地区工作。因此,您可以并行运行超过2000 lambdas,每个Lambdas都会对您的服务进行负载测试。这种测试的五分钟只会花费一美元。
此软件包中的演示试图通过1个连接将请求发送到GitHub.com 5秒,并进行了Pyrestestest假人测试。
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/
用于机器智能的开源库。基本上彻底改变了AI,并使其更容易访问。在lambda上使用TensorFlow并不像听起来那样糟糕 - 对于某些简单的模型来说,它是最简单,最便宜的部署方式。
作为Hello World Code,我使用了对Imagenet训练的图像的识别(https://www.tensorflow.org/tutorials/image_recognition)。鉴于价格标签lambda一运行(一张图片的识别)的价格为$ 0.00005。因此,您可以识别20,000张图像。它比几乎所有替代方案便宜得多,尽管完全可扩展(可以并行运行200个功能),并且可以轻松地集成到云基础架构中。当前的演示下载来自link'imagelink'的映像来自事件源(如果为空 - 然后下载https://s3.amazonaws.com/ryfeuslambda/tensorflow/imagenet/cropped_panda.jpg)
TensorFlow 1.4.0
https://www.tensorflow.org/tutorials/image_recognition
夜间版本档案的尺寸超过50 MB,但仍然有资格与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注意:请记住,您应该为AWS lambda功能环境设置
python3.6。
ARN:AWS:lambda:us-east-1:339543757547:layer:tensorflow-pack
适用于机器学习,建筑模型等的粉丝。我怀疑有一种更方便的方式将模型部署到现实世界中。
http://scikit-learn.org/
图像处理工具的包装,不仅用于样式图像,还用于一组大量的计算机视觉算法。
当前有两个Zipped Pack,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的RAM为1.5 GB,最长的工作时间-5分钟。我相信这足以满足大多数任务。
熊猫0.19.0
http://pandas.pydata.org/
Python中自然语言处理的OpenSource库。
https://spacy.io/
示例代码从S3加载语言模型,并使用它来分析句子。
OCR(光学字符识别)库,用于图像中的文本识别。
https://github.com/tesseract-ocr/tesseract
包装中的“ Hello World”代码创建了每个文档的示例。基本上,这些LIB的记忆力低(小于128MB)和高速(小于0.5秒),因此在AWS lambda定价方面,每1 $生成的文档生成的〜1m文档。
AWS Lambda包在Python中用于处理卫星图像。基本上,它使得可以以一种简单且便宜的方式部署Python代码来处理卫星图像或多边形。在包装的“ Hello World”代码中,我从AWS下载了红色,绿色,蓝色Landsat 8频段,从中制作出真实的颜色图像并将其上传到S3。它需要35秒和824MB的RAM,因此可以以1美元的价格处理约2500个场景。
Python 3.6基于Pytorch
# You need `docker` before run
./build-with-docker.sh