Stimulator

機械学習とか好きな技術話とかエンジニア的な話とかを書く

PyCon JP 2017に参加しました - 後半 #pyconjp

- はじめに -

PyCon JP 2017の2日目(正確にはtutorial含め3日目)を聴講してきた

https://www.pycon.jp/


1日目は昨日PyCon reject Conference含めて投稿した



 

- Keynote -

https://pycon.jp/2017/ja/talks/keynote/

Pandasのコミッタの堀越真映さんの登壇

Pandasの概要と、Pandasコミッタになるにはという話
OSSと一緒でプロダクトの方向性を決められたり、issueを解決できたり、ユーザビリティを気にかけられると推薦でコアメンバーになれるとの事(1年は活動必要らしい)
また、コミュニティの品質なども気にかけられると良い

Pythonの話というよりOSSという概念やコミュニティの説明という感じだった
もっと気軽にOSSやっていこうよというのは本当だし良いセッションだった


 

- Reactive Programming on AWS Lambda in Python -

https://pycon.jp/2017/ja/schedule/presentation/6/


Lambdaに関するデプロイやapexを使ったデプロイまで
https://github.com/apex/apex

boto3は流石に知ってたけど、ログ用のalogとかデプロイのZappaとかは知らず、Lambda力もうちょっと上げれるなってなった
https://github.com/keitheis/alog
https://github.com/Miserlou/Zappa
仕事の方でも自動デプロイ進めたいなあ…

あとcoconutsとPythonクイックソートの比較とかやっていて、大胆なcoconuts宣伝だな…ってなった


 

- The theory of Serverless development by Python -

https://pycon.jp/2017/ja/schedule/presentation/30/

よくあるサーバーレスの大まかな説明(FaasとSaaS)
結局サーバーレスもオンデマンドなコンテナが動いてる訳だからオーバーヘッド気にしましょうとか、イベント駆動便利よとか。あとはAWSの説明
 
会社に入ってからAWSでマイクロサービス(ピタゴラスイッチ)してたけど、本来1つのサーバとMySQLで完結していたものが分散するわけで、やっぱり監視の問題とか運用コストがそれなりにあって、どっちが良いのかぶっちゃけみんな悩んでるんじゃないのという感想だった。単純計算で評価しにくいしTPO


 

- 機械学習におけるデータの再現性について -

https://pycon.jp/2017/ja/schedule/presentation/34/

資料はアレされている


機械学習のデータを再現性を保ってどうやって保存するか、そのためのフレームワーク公開してますという話

akagiというらしくクックパッドでも使われているとか
GitHub - ayemos/akagi: Codenize your datasources.
先行だとGit LFSとかData Version Controlとかがあるとの事で、どれも使ってみたい


僕はbohemiaサンの以下の記事が今年随一好きで、データの取り扱いってすごく大事なんだよと声を大にして言いたい
あなたの会社は本当に機械学習を導入すべきなのか? - bohemia日記
これもうちょっと広まってえらいひとまで認知されて欲しいし、akagiに期待というアレ

再現性を重視しすぎると時系列でどんどんデータの入力分布が変化していく場合につらくなってくるので、この辺は色んなパターンがあると良さ


僕はAWSのRDSのスナップショットやEC2のAMI取っておいたり、Jupyterにコツコツ残していくオタクなのでツール作りはすげえなと思います


  

- ディープニューラルネット確率的プログラミングライブラリEdward -

https://pycon.jp/2017/ja/schedule/presentation/36/

機械学習界隈Twitterで見ない日はない@yutakashinoサンの話


Edwardの話だったはずが大半が基本的なNNとベイズと、Deep LearningとBayesian Deep Learningの大まかな概要みたいな話だった気がする。一番基本的なNNの更新式とかベイズ則の式から、各ベイズ推定のアルゴリズムが出てきて、PyConというより機械学習勉強会みたいな感じだった

Edwardが出てきたのは終了前5分だった

マジでPythonの話は出てこなかったけれど、30分で全部話した(話しきったとは言っていない)とは思えないくらいスライドが充実しているので、機械学習屋は復習がてら見ると良さげ

ベイズ推定周辺を5分で説明で説明してて笑った

そういえばだけど、NIPS 2016のやつ http://bayesiandeeplearning.org/ は結構話題になったけど後続が出てきてるのか気になる
後で暇があれば調べて追記したい


 

- Pythonをとりまく並行/非同期の話 -

https://pycon.jp/2017/ja/schedule/presentation/35/


いわゆる並行は並列を包含しているイメージで、どっちとりましょうかという話

Python3.2から追加のfutures便利でthreadinf, multiprocessingより使いやすいらしい
じゃあ幾つか例を示して行きましょうという感じで、スライドがとても良いので必見
非同期ライブラリの紹介も丁寧で、futuersからasyncioの解説も分かりやすかった
ここ最近聞いた非同期の話では随一丁寧でステキ

個人的にも非同期処理の取り扱いに悩んでおり非常に良かった
思わずトークアワード投票しました


 

- 早稲田大学グローバルソフトウェアエンジニアリング研究所 -

せっかくなので大学のトークセッション聞いた
Pythonと教育、Pythonプログラミング初学者における環境と特徴分析しました」という内容
プログラミングは教育効果の定量的な評価が乏しいからそういう研究を進めたいとの事

6属性に分類していて

  • ゲーム感覚に遊んで覚えるソフトウェアタイプ
  • Scratchみたいなビジュアル言語・環境
  • 電源不要のアンプラグなツール
  • ボドゲみたいなタンジブルツール
  • マインドストームみたいな物理ロボット
  • その他

でそれぞれ評価して、評価軸も扱いやすさやどういう所を重視しているかみたいな基軸で丁寧に取っていた
研究が進むとプログラミング教育も進むかも

Blockly とか コードガールこれくしょん とかが紹介されててあ〜ってなった

Pythonは傾向として「Webでできる」「協力、連携が意識されている」「問題解決型かつ自由度が高い」ものがおおいらしい

逆にクリエイティビティ系(ゲームを作って動かすまでやってみようみたいなアレ)がソフトウェアとして固まっているものは少ないと言っていた
う〜ん、確かに思いつかない。大体クリエイティブになるともうMinecraftの自動化するとか、GUIゲーム作るとかに一気に飛んでるイメージはありますね

今後の論文発表等に期待


 

- おわりに -

今回はまさかのshima__shima先生のツイートを偶然見て、チケットを譲って頂く形に。深く感謝
来年は登壇で参加できるといいなあ

 
あと前年度はモノタロウ社がPython2系を盛り上げましたが今年は…
エンジニア一同衝撃 Python子ども向けワークショップにやってきた小2開発者のさりげない一言 #pyconjp - Togetterまとめ

 



( ;∀;) イイハナシダナー

 
個人的にはReject Conferenceの方が実務寄りというか現場感あって面白かったように感じたけど、広く聴講してもらうというのは難しいんだなあと。
というかRejectよりPythonの話をしない発表も幾つかあったし、全然採用基準わからんってなった。

ご飯も美味しく非常に良い2日間でした

 
厚さで人も○せる犬
 

ベイズ統計モデリング: R,JAGS, Stanによるチュートリアル 原著第2版

ベイズ統計モデリング: R,JAGS, Stanによるチュートリアル 原著第2版