フリーランチ食べたい

No Free Lunch in ML and Life. Pythonや機械学習のことを書きます。

SageMakerとServerlessを組み合わせて、お手軽にscikit-learnの機械学習APIを作る

SageMakerとServerlessを使ってscikit-learnの機械学習APIを作る方法を紹介します。

f:id:ikedaosushi:20190505183712p:plain

公式ドキュメントやその他の記事の多くはコンソール操作やnotebook上での操作が多く含んでいて、そのコードのまま本番運用に使うのは難しいと感じたので、この記事では コンソール操作やnotebook上での操作なしでスクリプトだけで完結 できるようにしています。カスタマイズすれば本番運用で使えるはずです。

また公式ドキュメントにもExampleがいくつかあるのですが、色々な処理を含んでいて、自分には理解し辛い部分がありました。今回、SageMakerを理解するためにもっとシンプルなToy Exampleを作ってみました。

  • 作るもの
  • 環境
  • アーキテクチャ構成
  • フォルダ構成
  • 事前準備
    • Layer作成
    • Resource作成/環境変数定義
    • 学習用のデータをS3にアップロード
  • モデル学習&デプロイ
    • 学習スクリプトの準備
    • 学習&デプロイ
    • 予測API作成
  • さいごに
続きを読む

【Python】もうprintデバッグはいらない? / PySnooperで楽々デバッキング

Hacker NewsとRedditでバズっていたPythonのデバッグツールが便利だったので紹介です! PySnooperというライブラリです。

※追記

想像以上にたくさんの方に読んでいただき、printデバッグなど他のデバッグ方法との比較について追記として文末に補足しました。釣りタイトルですみませんでした…🙇

f:id:ikedaosushi:20190428000712p:plain

続きを読む

AWS BatchとServerlessを組み合わせて高速に定期実行バッチやバッチAPIを作る

AWS Lambdaで行えないような重い処理はAWS Batchを使うと簡単に行うことができますが、定期実行したりエンドポイントを作る仕組みはAWS BatchにはまだなくCloudWatchやAPI Gatewayと組み合わせる必要がありますがServerlessと組み合わせることで簡単に実現できるので紹介します。

f:id:ikedaosushi:20190427105206p:plain

続きを読む

Pandasで行うデータ処理を100倍高速にするOut-of-CoreフレームワークVaex

TL;DR

  • アウトオブコア、かつマルチコアでデータ処理を行えるVaexの紹介です。
  • string関係のメソッドで平均して100倍以上の高速化が確認できました。(作者のベンチマークだと最大1000倍)
  • 文字列処理以外でも数倍~数十倍の高速化が行えそうです。
  • この記事では性能の比較のみ行い、解説記事は別で書こうと思います。

f:id:ikedaosushi:20190414003238p:plain

続きを読む