Coder Social home page Coder Social logo

dl_lecture_competition_pub's Introduction

DL基礎講座2024 最終課題

概要

最終課題内容:3つのタスクから1つ選び,高い性能となるモデルを開発してください(コンペティション形式)

3つのタスクはそれぞれ以下の通りです.必ず1つを選んで提出してください.

  • 脳波分類(MEG-competitionブランチ): 被験者が画像を見ているときの脳波から,その画像がどのクラスに属するかを分類する.
    • サンプル数: 訓練65,728サンプル,検証16,432サンプル,テスト16,432サンプル.
    • 入力: 脳波データ.
    • 出力: 1854クラスのラベル.
    • 評価指標: top-10 accuracy(モデルの予測確率トップ10に正解クラスが含まれているかどうか).
  • Visual Question Answering(VQA)(VQA-competitionブランチ): 画像と質問から,回答を予測する.
    • サンプル数: 訓練19,873サンプル,テスト4,969サンプル.
    • 入力: 画像データ(RGB,サイズは画像によって異なる),質問文(サンプルごとに長さは異なる).
    • 出力: 回答文(サンプルごとに長さは異なる).
    • 評価指標: VQAでの評価指標(こちらを参照)を利用.
  • Optical Flow Prediction from Event Camera (EventCamera)(event-camera-competitionブランチ): イベントカメラのデータから,Optical Flowを予測する.
    • サンプル数: 訓練7,800サンプル,テスト2,100サンプル.
    • 入力: イベントデータ(各時刻,どのピクセルで"log intensity"に変化があったかを記録).
    • 出力: Optical Flow(連続フレーム間で,各ピクセルの動きをベクトルで表したもの).
    • 評価指標: Average Endpoint Error(推定したOptical Flowと正解のOptical Flowのユークリッド距離).

最終課題締切:7/18(木)16:00

注意点

  • 学習するモデルについて制限はありませんが,必ず提供された訓練データで学習したモデルで予測をしてください
    • 事前学習済みモデルを使って,訓練データをfine-tuningしても構いません.
    • 埋め込み抽出モデルなど,モデルの一部を訓練しないケースは構いません.
    • 学習を一切せずにChatGPTなどの基盤モデルを使うのは禁止です.

最終課題の取り組み方

ベースラインコードのダウンロードと実行

ベースラインコードのダウンロードから,提出までの流れの説明です.

  1. ベースラインコードがあるリポジトリをforkする.
  • こちらのリポジトリをforkします.
  • この際,"Copy the main branch only"のチェックを外してください.
  1. git cloneを利用してローカル環境にリポジトリをcloneする.
  • 以下のコマンドを利用して,手順1でforkしたリポジトリをローカル環境にcloneします.
  • [Github user name]にはご自身のGithubのユーザー名を入力してください.
$ git clone [email protected]:[Github user name]/dl_lecture_competition_pub
  1. git checkoutを利用して自身が参加するコンペティションのブランチに切り替える.
  • 以下のコマンドを利用して,参加したいコンペティションのブランチに切り替えてください.
  • [Competition name]にはMEG-competition(脳波分類タスク),VQA-competition(VQAタスク),event-camera-competition(EventCameraタスク)のいずれかが入ります.
$ cd dl_lecture_competition_pub
$ git checkout [Competition name]
  1. README.mdの環境構築を参考に環境を作成します.
  • README.mdにはconda,もしくはDockerを利用した環境構築の手順を記載しています.
  1. README.mdのベースラインモデルを動かすを参考に,ベースラインコードを実行すると,学習や予測が実行され,テストデータに対する予測であるsubmission.npyが出力されます.

取り組み方

  • ベースラインコードを書き換える形で,より性能の高いモデルの作成を目指してください.
    • 基本的にはmain.pyなどを書き換える形で実装してください.
    • 自分で1から実装しても構いませんが,ベースラインコードと同じ訓練データおよびテストデータを利用し,同じ形式で予測結果を出力してください.
  • コンペティションでは,受講生の皆様にmain.pyの中身を書き換えて,より性能の高いモデルを作成していただき,予測結果(submission.npy),工夫点レポート(.pdf),実装したコードのリポジトリのURLを提出いただきます.
  • 以下の条件を全て満たした場合に,最終課題提出と認めます.
    • 全ての提出物が提出されていること.
      • 注意:Omicampusで提出した結果が,レポートで書いた内容やコードと大きく異なる場合は,提出と認めない場合があります.
    • Omnicampusでの採点で各タスクのベースライン実装の性能を超えていること.
      • ベースライン性能は各タスクのブランチのREADMEを確認して下さい.

Githubへのpush方法

最終課題ではforkしたリポジトリをpublicに設定していただき,皆様のコードを評価に利用いたします.そのため,作成したコードをgithubへpushしていただく必要があります.

以下にgithubにその変更を反映するためのpushの方法を記載します.

  1. git add
  • 以下のように,git addに続けて変更を加えたファイル名を空白を入れて羅列します.
$ git add main.py hogehoge.txt hugahuga.txt
  1. git commit
  • -mオプションによりメモを残すことができます.その時の変更によって何をしたか,この後何をするのかなど記録しておくと便利です.
$ git commit -m "hogehoge"
  1. git push
  • branch nameには提出方法の手順3でcheckoutの後ろで指定したブランチ名を入力します.
$ git push origin [branch name]

最終課題の提出方法

Omnicampusから予測結果(.npy),工夫点レポート(.pdf),実装したコードのリポジトリのURLを提出していただきます.

予測結果の提出

  1. Omnicampusの「宿題」一覧から「最終課題(---)」をクリックします(---を取り組むタスクに読み替えてください).
  2. 「拡張子(.npy)のファイルを提出」をクリックし,予測結果.npyをアップロードします.採点は即時実行され,「リーダーボードへ」をクリックすると,順位表を確認できます.
submission

工夫点レポートとGithubリポジトリURLの提出

  1. Omnicampusの「レポート課題」一覧から「最終課題レポート」をクリックします.
  2. 「レポートのタイトル」にレポートの題名(任意のタイトルで構いません),「参照URL」に今回のタスクの実装を含んだGithubリポジトリのURLを入力して,「提出ファイル」で提出ファイル.pdfを選択し,「提出する」をクリックします.
report

注意:

  • 締め切りまでに何回提出しても構いません.最後に提出された内容で評価します.

課題内容に関する質問について

  • 最終課題の内容に関する質問は以下で受け付けています.
    • slack「08_受講生間の疑問解決_最終課題」チャネル
  • 基本的には受講生間で解決するようにしてください.必ずしも全ての質問に対してTAや運営から回答する訳ではないので注意してください

dl_lecture_competition_pub's People

Contributors

masa-su avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.