Python Kansai 01 everyone's note
挨拶
はろーhideyan.icon
よろしくお願いします!
楽しみにしていました。よろしくおねがいします!
やっはろー
トーク
飯坂さん Daskについて
好きなもの クラフトビール Python
Pythonの発達
ライブラリの発達、Jupyter Notebook
なぜ並列処理なのか?
早い計算機が欲しい
スーパーコンピュータは高すぎる。でもIphone 5sは20年前のスパコンくらいの性能がある
安いコンピュータでできないか?
性能向上させる
SMPとDMP
Python のスレッドとGIL
スレッドが待機させられる
GILがPythonを遅くしている原因
非同期で処理させれば良い
Asyncioはプログラマーが考えないといけない
マルチプロセス
並列処理の基本
アムダールの法則
MPI(Message Passing Interface)
実際に書くのはすごい面倒
Python実装はいくつかある
mpi4py
broadcast
データをばらまく
send/recv
Dask
溝を埋めるようなライブラリ
Out-of-Core処理
コレクション、グラフ、スケジューラで構成
Out-of-Coreとは
メモリに入り切らないデータを処理すること
Pandasとほぼ変わらない処理
8GBメモリのマシンで20GBのCSVファイルを読み込む
dd.read_csvでいける
Array: numpyと同じインタフェース
DataFrame: pandasとほぼ同じインタフェース
グラフ: 遅延評価?に関係する
内部的に辞書で構成する
computeを呼ぶと実行
スケジューラ
SMPとDMPの両方をサポート
workerに対してjobを投げると分かれて実行
dask-schedulerで処理
dash-boardでどんなクラスタがいるかを確認できる
シングルノードでのマルチプロセスも可能
自ノードだけでも実行可能
APIの中でクラスタを作ることも可能
map
スケジューラに処理を割り当てることが可能
デモ
Graphvizがあるとグラフの可視化が可能
multiprocessingを使ってマンデルブロ集合の可視化を描画すると大変だがDaskで書くと苦労しなくて良い
まとめ
並列化が高速の要
手間と効果のバランスが大事
DaskはとてもOut-of-Coreでの計算が可能
クラスタシステムへのジョブ表示
Out-of-Coreだけならvaexも検討価値あり
Pandasと比べて1k倍高速
飯坂さんに質問
* Woker が途中で死んじゃった時などは、スケジューラがタスクの振り直しなどよきに計らってくれる感じでしょうか。
よきにはからってくれない
* タスクとしては、あまり大きなタスクよりも小さなタスクをたくさんばらまくみたいな、投げるタスクに向き不向きなどありますか。
タスク内で閉じた処理をするのがよい
通信が発生すると
* 仕事でどのようにDask使ってますか?
たくさんCSV読み込むときに使う
* 内部で勝手にグラフ作ってくれるとおっしゃってくれていましたが、そこを一部プログラマが変更する(独自に並列処理させる)なんてことは可能ですか?
できることはできるがバグのもとになりやすい
* 機械学習のアルゴリズム実行で使われた実例などありますか?
tensorflow がかつて内部で使っていた実績がある
DL の前処理などで複数ノードに画像バラマキいて処理するなどは向いてそう
染田さん Edge AIとPython
本日の資料 https://speakerdeck.com/hacarus/etuziaitopython
Edge AIバリバリやってるぜ は会場にいない。
染田さんのtwitter
機械学習の発表 Pycon Taiwan 9/20-9/22
ハカルス: データサイエンスxハードウェア
1/3が外国人、多数の学生インターン
持ち帰って欲しい内容
エッジAIとは
エッジAI向けデバイス
Pythonをどう使うのか
エッジAIとそれを実現するデバイス
クラウドAI vs エッジAI
クラウドAIでは潤沢なコンピューティングリソース、巨大なストレージを使用して結果を得る
エッジAIが欲しい理由: リアルタイムな応答、ネットワーク帯域の削減、セキュリティ、プライバシーの保護
5Gとも言われるがバンバンデータはやはり上げたくない
推論チップセットは群雄割拠
FPGAはあとから構成を変更可能
ASICは変更不可能な専用チップ
SoCはいろんな機能がワンパッケージになったもの
どのハードウェアかが決まりきっていない、選ぶハードウェアはいろいろある
例
Single Board Computer
ラズパイ、Jetson Nanoなど
* USB Acceelerator
Intel Neural Compute Stick 2
Google Coral USB Accelerator
マイコン
Sony SPRESENSE
Sipeed MAix DOck
FPGA
PYNQ-Z1
Jupyter Notebookが起動して動く
DMP ZIA C3 Kit
価格は落ちてきている
PINQ Z1
https://store.digilentinc.com/pynq-z1-python-productivity-for-zynq-7000-arm-fpga-soc/
jetson inference 多分これ
https://github.com/dusty-nv/jetson-inference
https://developer.nvidia.com/embedded/twodaystoademo
Google Coral USB Accelerator / AUTOMLのモデルを読み込める まじか!!!!
Sipeed Maix M1 Dock / 安い!! 
任天堂のソフトが!!!
新興企業なのでドキュメントとの
整合性があれ
染田さんに 質問
*jetson nanoとラズパイ3(or 4)で同一モデルでの推論時間比較を行ったことはありますでしょうか(どの程度早くなるのか気になりました)
まだないのですー。今回の発表を機に、紹介した機材での比較をしてブログにでも書こ
うと思います!
顧客からデバイスの指定をされることはありますでしょうか?あれば、どのデバイスが人気でしょうか?
指定されることはあまりないのですが、安く済ませたいと言われたり、最初のプロトの場合は、ラズパイが結構選択肢になります。最近、産業用ラズパイも出ていますね。
* ど素人の初心者の質問ですみません、エッジAIでも、学習はクラウド側で実行し、推論のモデルができたらエッジ側に持ってきて推論させる、という認識で合っていますでしょうか?
はい、あってます。ただエッジ側で学習できるメリットも大きいので、頑張って今取り組んでいます。
* エッジAIが組み込まれた産業機器は出てきているのでしょうか?
ぱっと外向けのものは思い浮かばないのですが、工場内の検証は結構進んでいるので、来年くらいには割とモノが出てきそうな気がします。
* AIoTのクラウドはAWS/Azure/GCPどれがおすすめですか?
個人的に AWS が慣れているので、それ以外は知らないのです、、、すみません。
* Edge TPU DevBoardは技適通ってます。
https://twitter.com/hayatoy82/status/1138312121454714880
↑おお、すみません、これは嬉しいニュース。mouser でも買えなかったので、技適まだかと思ってました。
家電に入れるために
チップメーカーがASICでやろうとしている。将来的にはASIC市場がでかくなる。でも初期コストがかかるので、強いところしかまだ来ていない。中華系は注目
FPGAのメリットは?
入りやすい。初期コストが低い。
スピードだとPythonよりC+では?
間違いない。
C++
古崎さん Linked Open Dataについて
今日の講演スライド
https://www.slideshare.net/KoujiKozaki/linked-open-datalod-155413298
Wikidata
https://www.wikidata.org/wiki/Wikidata:Main_Page
DBpedia
https://wiki.dbpedia.org/
推論チャレンジ
https://challenge.knowledge-graph.jp/2019/
機械可読な形式で!
RDF 物事を示すのにURLを使いましょう
LOD 物事をリンクしましょう
Linked Data 2007〜
データにアクセスするのにURLを使い、ハイパーリンクによりデータをつなげる
LODの使い方
先行投資でRDF、SPAQLをやるのも良いかも
データソース
DBpedia
Japan search https://jpsearch.go.jp/
国会図書館
統計LOD http://data.e-stat.go.jp/lodw/
データで現実が見られる!!!データとして触ると面白い
古崎さんに 質問
* WikidataはWikipediaの文章から自動で生成されますか?
→回答:自動生成はされません.Wikidataでは,データ入力用のフォームが用意されており,そのフォームから入力されたデータが登録されます.逆に,Wikipediaの文章で,「Wikidataのデータ」を参照する仕組みはあります.例えば,「大阪市の人口」をWikidataから参照しておくと,Wikidataのデータが更新されると参照先でのデータの表示も更新されます.
コミュニティ紹介
PyData Osaka
https://docs.google.com/presentation/d/1j9PXrfDxzt0EGK4IBT9aMa9XKsTXdWk8Y6qlrQ9n7mg/edit?usp=sharing
Machine Learning Meetup Kansai
https://mlm-kansai.connpass.com/
大阪Pythonの会
connpass
https://osakapython.connpass.com/event/
https://speakerdeck.com/dkonishi/da-ban-pythonfalsehui-falseshao-jie-at-python-kansai-number-01
直近の平日開催
7月16日(火)
【初心者歓迎】大阪Python もくもく会 #30
https://osakapython.connpass.com/event/138852/
直近の休日開催
7月28日(日)
【休日開催・初心者歓迎】大阪Python もくもく会 #32
https://osakapython.connpass.com/event/138855/
Financial Python Osaka
https://gitpitch.com/fx-kirin/presentations?p=finpy
はんなりPythonの会
https://speakerdeck.com/hideyuki_ogawa/python-kansai-hannaripython
7/19 ディスカッション会!!!女性無料
https://hannari-python.connpass.com/event/136555/
LT
@kozo2 dash-bioにcontributeしようとしている話
https://docs.google.com/presentation/d/1u66buI7Ww9_H_SphKo80YcrMC30rw5h7GOgWEM5aQEo/edit?usp=sharing
平方根を求めた話
https://docs.google.com/presentation/d/1qV4Qf-RCV21H6geKD3VqLrxfUl1Hu-cw8NScjzLsN4o/edit?usp=sharing
https://twitter.com/dar_kuma_san OBDから取得した車両データを可視化して遊ぶ
発表資料
https://speakerdeck.com/sho_kumada/python-kansai-number-01-lt
発表内容のQiita記事
https://qiita.com/banquetkuma/items/37ef3f543735560d2b1b
https://qiita.com/banquetkuma/items/e02ba60661cf91af37de
@soheiyagi 検索キーワードをscikit-learnでクラスタリングした話
https://speakerdeck.com/soheiyagi/jian-suo-kiwatowopythonfalsescikit-learntekurasutarinkusitahua-ji-jie-xue-xi-woshi-tutezi-ran-jian-suo-niqiang-isaitowozuo-ru