Paket yang Diperkenalkan untuk AWS Lambda
Selenium pada phantomjs. Faktanya - alat siap pakai untuk pengikisan web. Misalnya, demo sekarang membuka halaman acak di Wikipedia dan mengirimkan headernya. (Phantomjs pada saat yang sama menyamarkan dirinya sebagai browser normal, tahu cara masuk, mengklik dan mengisi formulir) juga menambahkan permintaan, sehingga Anda dapat melakukan permintaan API untuk sumber daya yang berbeda untuk membuang / mengambil informasi.
Berguna untuk pengujian dan pengikis web.
Demo saat ini membuka halaman acak dari wiki (https://en.wikipedia.org/wiki/special:random) dan judul cetak.
git clone https://github.com/ryfeus/lambda-packs.git
cd lambda-packs/Selenium_PhantomJS/source/
serverless deploy
serverless invoke --function main --log
Anda juga dapat melihat hasil dari titik akhir API Gateway di browser web.
https://selenium-python.readthedocs.io/
Apa hubungannya Lambda dengan itu? Singkatnya pada AWS di satu wilayah Anda dapat secara bersamaan menjalankan 200 lambdas (lebih banyak jika Anda menulis untuk mendukung). Lambda bekerja di 11 wilayah. Jadi Anda dapat menjalankan secara paralel lebih dari 2000 lambdas, yang masing -masing akan melakukan pengujian beban layanan Anda. Lima menit pengujian tersebut hanya akan menelan biaya satu dolar.
Demo dalam paket ini mencoba mengirim permintaan ke github.com selama 5 detik dengan 1 koneksi dan juga melakukan tes dummy pyresttest.
https://github.com/wg/wrk
https://github.com/svanoort/pyresttest
Paket untuk parsing halaman HTML statis. Perbedaan di sini adalah bahwa ia bekerja lebih cepat dan mengkonsumsi lebih sedikit memori daripada phantomjs tetapi terbatas dalam istilah situs web yang dapat diurai dan fitur lainnya.
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/
Perpustakaan Sumber Terbuka untuk Intelijen Mesin. Pada dasarnya AI yang direvolusi dan membuatnya lebih mudah diakses. Menggunakan TensorFlow di Lambda tidak seburuk kedengarannya - untuk beberapa model sederhana ini adalah cara paling sederhana dan termurah untuk digunakan.
Sebagai Hello World Code saya menggunakan pengakuan gambar yang dilatih di ImageNet (https://www.tensorflow.org/tutorials/image_recognition). Mengingat label harga lambda satu kali (pengakuan satu gambar) akan menelan biaya $ 0,00005. Oleh karena itu untuk satu dolar Anda dapat mengenali 20.000 gambar. Ini jauh lebih murah daripada hampir semua alternatif, meskipun sepenuhnya dapat diskalakan (200 fungsi dapat dijalankan secara paralel), dan dapat dengan mudah diintegrasikan ke dalam infrastruktur cloud. Demo saat ini mengunduh gambar dari tautan 'imagelink' dari sumber acara (jika kosong - lalu unduh https://s3.amazonaws.com/ryfeuslambda/tensorflow/imagenet/cropped_panda.jpg)
TensorFlow 1.4.0
https://www.tensorflow.org/tutorials/image_recognition
Nightly Version Archive berukuran lebih dari 50 MB tetapi masih memenuhi syarat untuk digunakan dengan AWS Lambda (meskipun Anda perlu mengunggah paket melalui S3). Untuk lebih banyak baca di sini:
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
untuk 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.shuntuk 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.shCatatan: Ingat Anda harus mengatur
python3.6untuk lingkungan fungsi AWS Lambda.
ARN: AWS: Lambda: US-East-1: 339543757547: Lapisan: TensorFlow-Pack
Paket untuk penggemar pembelajaran mesin, membangun model dan sejenisnya. Saya ragu ada cara yang lebih nyaman untuk menggunakan model ke dunia nyata.
http://scikit-learn.org/
Paket alat pemrosesan gambar, dan tidak hanya untuk gaya gambar, tetapi juga satu set besar algoritma visi komputer.
Saat ini ada dua paket zip yang tersedia, pack.zip dan pack_nomatplotlib.zip, Anda mungkin ingin menggunakan pack_nomatplotlib.zip. Lihat #5 untuk informasi lebih lanjut.
Scikit-image 0.12.3
http://scikit-image.org/
Paket lain dari alat pemrosesan gambar, dan tidak hanya untuk gaya gambar, tetapi juga satu set besar algoritma visi komputer.
https://pillow.readthedocs.io/
http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html
Paket untuk Penggemar Statistik, Ilmuwan Data dan Insinyur Data. RAM di Lambda adalah 1,5 gigabytes, dan waktu operasi maksimum - 5 menit. Saya yakin itu akan cukup untuk sebagian besar tugas.
PANDAS 0.19.0
http://pandas.pydata.org/
Perpustakaan OpenSource untuk pemrosesan bahasa alami di Python.
https://spacy.io/
Contoh kode memuat model bahasa dari S3 dan menggunakannya untuk menganalisis kalimat.
Pustaka OCR (Optical Character Recognition) untuk pengenalan teks dari gambar.
https://github.com/tesseract-ocr/tesseract
Kode "Hello World" dalam paket membuat contoh dari setiap dokumen. Pada dasarnya LIBS ini adalah memori rendah (kurang dari 128MB) dan kecepatan tinggi (kurang dari 0,5 detik) jadi itu seperti ~ 1 juta dokumen yang dihasilkan per 1 $ dalam hal harga AWS Lambda.
AWS Lambda Pack di Python untuk memproses citra satelit. Pada dasarnya ini memungkinkan untuk menggunakan kode Python dengan cara yang mudah dan murah untuk memproses citra atau poligon satelit. Dalam kode “Hello World” dari paket yang saya unduh merah, hijau, Blue Landsat 8 band dari AWS, buat gambar warna yang sebenarnya dari itu dan mengunggahnya ke S3. Dibutuhkan 35 detik dan 824MB RAM untuk itu sehingga ~ 2500 adegan dapat diproses seharga 1 $.
PyTorch berbasis Python 3.6
# You need `docker` before run
./build-with-docker.sh