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