Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unit testしてますか?

tsho
July 12, 2023

Unit testしてますか?

2023/7/12 MLOps 勉強会 LT 発表

tsho

July 12, 2023
Tweet

Other Decks in Programming

Transcript

  1. 自己紹介 名前:tsho (Sho Tanaka) 都内の IT 会社で日本や APAC を中心に ML

    のコンサル タントやソリューションを提供。MLOps 勉強会の運営の1 人。 本発表は所属する組織とは関係なく、 個人の見解と調べたことを発表いたします。
  2. 話すこと & 対象 初心者 中級者 上級者 データサイエンティスト ◯ ◯ ✕

    MLエンジニア/ ソフトウェアエンジニア ◯ △ ✕ エンジニア中級者などは退屈かもしれません。 最近 Python で unittest 書き始めた人の簡単な紹介 (Rspec で test 書い たことあるマン) 最新の話とかではない古くからある話をします。
  3. ML Systemsにおけるテスト Figure 1. Elements for ML systems. Adapted from

    Hidden Technical Debt in Machine Learning Systems. https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning
  4. テストのおおまかな種類 継続的にモデルを作り、デプロイしてビジネスに使うためにもテストは必要 大まかなテストの種類 - 単体テスト(Unit test) - 結合テスト(統合テスト) - E2Eテスト

    *テストの分け方は人や定義によって多少ことなることが多いです。今回は分け方の議論はしないのでここでこれ以上の話はい たしません
  5. 単体テスト(Unit Test) クラスや関数などのプログラムの単位ごとにテストのこと ML systemでいうと - 前処理 - モデリング -

    予測 など 上記部分で機能テストをすることに該当します。 テストの種類と技法 - Qiita
  6. Python における Unit Test 標準 library に unittest が入っている -

    Pytest など 3rd party の library もありますがここでは触れません。 • Test 用の Python ファイルを作る • Test の関数は ‘test_’ で始める 参考 https://docs.python.org/ja/3/library/unittest.html