Open ftnext opened 5 years ago
Software Engineer(以降SEと略す)の立場からData Scientist(以降DSと略す)のコードの扱いについて知見を共有したトーク。 コードの品質、設計、デプロイについてSEの視点から知見を共有
Niño R. Eclarin
2019/09/21
状況:DSの作ったnotebookがSEのもとに届く
SE
DS
PythonはSEとDSとの間で共通で使われている
Data Driven Development
Error handling カスタムのExceptionクラスを定義する
Data Integrity
in & out どんなデータが入って、どんなデータが出るのか TrainingDataクラス(←metadataというプロパティは便利かも)
粒度 生のデータなのか、加工したデータ(白黒画像)なのか
マルチスレッド 決定木のようなmemory bound algorithms向き 実装しやすい
マルチプロセス NNのようなCPU消費量の大きいアルゴリズムに適する 実装は少し難しい
SEがDSのコードのglue codeを作る インターフェイス、クラス化 class ModelInterface(ABC) これを継承してMyMedelクラス(RandomForestClassifier().fitを返すなど)
class ModelInterface(ABC)
メモリやCPUの使用量が大きければクラウドで動かす
CI(自動テスト)
[以下はオプション]
このトークにおけるSEとDSの業務範囲の分け方はHacarusの個別事例だと思うので言いすぎな箇所もあるという印象。 jupyter-blackを入れてコーディングしているDSもいるだろうし、そもそもDSという肩書の業務範囲が勤め先によると思われる(勤め先ではこの話のDS+SEの範囲を指してDSと言っているため) ジェシーさんのResearch oriented codeという言い回しの方がスキマが残るので好み(SEもResearch oriented codeを書ける)
自分がこのトピックを扱うなら、DS向けに「後工程に向けて気をつけたいこと」として共有する(ジェシーさんのトークに近い) PythonについてDSはSEほど理解していない。DSにSEと同じだけ理解させるよりも、手を取り合うほうが好み
一言でいうと
Software Engineer(以降SEと略す)の立場からData Scientist(以降DSと略す)のコードの扱いについて知見を共有したトーク。 コードの品質、設計、デプロイについてSEの視点から知見を共有
発表資料リンク
発表者/所属
Niño R. Eclarin
発表日付
2019/09/21
概要
SEとDS
状況:DSの作ったnotebookがSEのもとに届く
SE
DS
PythonはSEとDSとの間で共通で使われている
Solutions
Data Driven Development
1. Code standards
Error handling カスタムのExceptionクラスを定義する
Data Integrity
in & out どんなデータが入って、どんなデータが出るのか TrainingDataクラス(←metadataというプロパティは便利かも)
粒度 生のデータなのか、加工したデータ(白黒画像)なのか
2. アーキテクチャ
マルチスレッド 決定木のようなmemory bound algorithms向き 実装しやすい
マルチプロセス NNのようなCPU消費量の大きいアルゴリズムに適する 実装は少し難しい
SEがDSのコードのglue codeを作る インターフェイス、クラス化
class ModelInterface(ABC)
これを継承してMyMedelクラス(RandomForestClassifier().fitを返すなど)3. デプロイ
メモリやCPUの使用量が大きければクラウドで動かす
CI(自動テスト)
[以下はオプション]
新規性・差分
トークで知って試したいこと
感想
このトークにおけるSEとDSの業務範囲の分け方はHacarusの個別事例だと思うので言いすぎな箇所もあるという印象。 jupyter-blackを入れてコーディングしているDSもいるだろうし、そもそもDSという肩書の業務範囲が勤め先によると思われる(勤め先ではこの話のDS+SEの範囲を指してDSと言っているため) ジェシーさんのResearch oriented codeという言い回しの方がスキマが残るので好み(SEもResearch oriented codeを書ける)
自分がこのトピックを扱うなら、DS向けに「後工程に向けて気をつけたいこと」として共有する(ジェシーさんのトークに近い) PythonについてDSはSEほど理解していない。DSにSEと同じだけ理解させるよりも、手を取り合うほうが好み