Grand challengeという医療系のAIコンテスト・プラットフォームに参加するにあたり、環境構築を実際にやってみた経験をメモに残します。
Grand challengeは、Kaggle や SIGNATE に比べて、必要な環境構築が複雑で参加のハードルが高いと感じました。環境構築の難しいポイントは、実行可能ファイルをDockerイメージで提出が求められる課題が多いことだと思います。Dockerやその背景知識となるLinuxのコマンドなどを理解して環境を準備する必要があります。
Grand Challenge Documentationに沿って準備を行いました。
1.この記事のゴール
- Grand challengeに参加登録します。
- Windows + Dockerで提出物(機械学習の推論プログラム)を作れるように環境を整えます。
- 私のPCは数年前のWindows PCです。
- CPU:Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz 2.40 GHz
- RAM:8GB
- Windows 10 Home 21H1
- GPUなし
- 私のPCは数年前のWindows PCです。
なお、機械学習の学習部のプログラムは、別途、Gooogle Colab でプログラミング・実行を行います。
2. Grand challengeへの登録
- Grand Challenge Documentation -> Getting startedに沿って行います。
- (1)ユーザー登録と(2)アカウントのVerification の2段階の登録が必要です。
ユーザー登録自体はメールアドレスがgmailなどのフリーメールでもできるが、アカウントのVerificationにはフリーメールではない、教育機関や勤務先のメルアドが必要になります。フリーメールしか持っていない場合の対応方法は思いついていません。
アカウントのVerification のためには所属組織(大学名、企業名など)の情報を入力する必要があります。
- 所属組織名が未入力でも Verification request を押せてしまいます。押してみたところ、数日後に「プロフィールを埋めないとVerificationできない」旨のメールが来ました。また、Verification status が "Your request for verification was rejected." となっていました。Verification を再要求するボタンは無かったので、来たメールに「Profileを入力したのでVerificationをしてほしい」旨を返信したところ、無事にVerificationされました。
3. ローカルPCでの必要なソフトのインストール・設定
- Grand Challenge Documentation -> Getting started -> Algorithms -> Create your own algorithmに沿って行っています。
よく似た情報ページとして、Grand challenge -> Create an Algorithm containerもありますが、こちらはリンク切れ等を起こしており、アップデートされていません。
「Before you start」で列挙された必要なソフト等を準備していきます。これからインストールするソフトのイメージは以下のようになっています。
3.1 Docker
3.1.1 Docker (Docker desktop)をダウンロード・インストール
- Grand Challenge Documentation -> Getting started -> Algorithms -> Create your own algorithmで、Before you start の節 箇条書き1つめの Docker をインストールします。
詳細
3.1.2 Dockerの使い方
- 初心者による初心者のためのDocker入門 その1 dockerコマンド編 -> 利用の流れ を読んでざっくり使い方を理解しました。
3.2 evalutils
-
Grand Challenge Documentation -> Getting started -> Algorithms -> Create your own algorithm -> Before you start の節 箇条書き2つめ evalutils をインストールします。
- evalutils は、Python のパッケージです。Python (Anaconda) がローカルPCにインストールされている必要があります。
- Windows の標準 PowerShell ではなく、Anaconda の Anaconda PowerShell prompt を起動させ、以下のpipコマンドを行いました。
Anaconda で Python をインストールすると、Pythonに関するPATHがWindows の環境変数として設定されないため、Windows の標準 PowerShell ではpip
が動きません。代わりに、Anaconda のなかの Anaconda PowerShell prompt を使いました。
(base) PS C:\Users\(ユーザー名)> pip install evalutils
3.3 Git (Git-lfsを含む)
Grand Challenge Documentation -> Getting started -> Algorithms -> Create your own algorithm -> Before you start の節 箇条書き3つめの git-lfsをインストールします。私は、Gitそのものが未インストールだったのでGitとgit-lfsをまとめてインストールしました。
-
WindowsにGitをインストールする手順(2022年2月更新)を参考にしました。
- Git for Windowsをインストールする過程でgit-lfsもインストールされました。
3.4 WSLをダウンロード・インストール
Grand Challenge Documentation -> Getting started -> Algorithms -> Create your own algorithm -> Before you start の節 Windows tip の Windows Subsystem for Linux (WSL) をインストールします。
WSLは、Windows Subsystem for Linux であり、Windows上でLinuxの環境を再現するモジュールです。
Powershell上に以下のコマンドを入れることでインストールできます。
wsl --install
このコマンドは、Windows の標準 PowerShell でも、Anaconda PowerShell prompt でもどちらでも動くはずです。
UbuntuのインストールとDockerの設定
4.3.3項まで行ってから、Ubuntu(Linux)がインストールされていないことが分かり、以下の通り対応しました。
- MicrosoftのWSL のインストール頁を読む限り、通常(規定)はUbuntuが同時にインストールされるようにみえるので、これは私特有の問題だったのかもしれません。
wsl -l -v
コマンドでwsl上のディストリビューションを確認できます。Ubuntuがインストールされていないことを確認します。ここでUbuntuが確認できれば追加インストールは不要なはずです。
PS C:\Users\(ユーザー名)> wsl -l -v
NAME STATE VERSION
*docker-desktop Running 2
docker-desktop-data Running 2
wsl --install -d Ubuntu
でUbuntuをインストールします。
PS C:\Users\(ユーザー名)> wsl --install -d Ubuntu
ダウンロード中: Ubuntu
インストール中: Ubuntu
Ubuntu はインストールされました。
Ubuntu を起動しています...
PowerShellのコマンドウィンドウとは別にUbuntuのウィンドウが開き、User名とpasswordの入力が求められます。
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
インストールできたかを確認するとVersionが1となっていて、WSL2ではなくWSL1で動いていることがわかります。
PS C:\Users\(ユーザー名)> wsl -l -v
NAME STATE VERSION
*docker-desktop Running 2
docker-desktop-data Running 2
Ubuntu Installing 1
UbuntuをWSL2で動くように変換します。
PS C:\Users\(ユーザー名)> wsl --set-version Ubuntu 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。
Ubuntuがデフォルトになるように設定します。
PS C:\Users\(ユーザー名)> wsl --set-default Ubuntu
PS C:\Users\(ユーザー名)> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
docker-desktop-data Running 2
docker-desktop Running 2
ここまでで必要なソフトのインストール・設定は一段落です。次の記事では、Grand Challengeへの提出物の例を作ってみます。