Newer
Older
TIASJudgeModel / docs / 02_ENV / ENV_03_管理者用環境構築手順.md

管理者用環境構築手順 (Administrator Setup)

プロジェクト作成時に 一度だけ 行う初期設定.

GitHub リポジトリの作成 (Repository Creation)

private リポジトリとして作成する(臨床データは含めないが,研究途中のコードを公開しないため).

gh repo create rintoHasegawa/TIASJudgeModel --private --source=. --remote=origin \
  --description "舌画像から舌色 5 分類を推定する機械学習モデル(TIASjudge 用)"

リポジトリのセキュリティ設定 (Repository Security Settings)

Dependabot alerts(脆弱性検出)と Dependabot security updates はリポジトリごとに既定で OFF なので,作成直後に有効化する(冪等なので再実行してよい).

gh api -X PUT repos/rintoHasegawa/TIASJudgeModel/vulnerability-alerts
gh api -X PUT repos/rintoHasegawa/TIASJudgeModel/automated-security-fixes

検証:

gh api repos/rintoHasegawa/TIASJudgeModel/vulnerability-alerts       # 204 なら有効(404 なら無効)
gh api repos/rintoHasegawa/TIASJudgeModel/automated-security-fixes   # {"enabled":true,...} なら有効

※ 依存バージョンの定期更新は .github/dependabot.yml で設定する(別物.リポジトリ設定とは独立に動く).

Newton 側の初期設定 (Server Setup)

mkdir -p ~/work/TIASJudgeModel        # コード置き場(push で上書きされる)
mkdir -p ~/data/TIASJudgeModel        # データ置き場(push の対象外)
chmod 700 ~/data/TIASJudgeModel       # 共用サーバなので自分だけに絞る

コードを初回送信したあと,サーバ上で以下を確認する.

cd ~/work/TIASJudgeModel
uv sync
uv run python -c "import torch; print(torch.cuda.is_available(), torch.cuda.device_count())"

uv sync は CUDA 版 PyTorch が入るため時間がかかる.True と GPU 台数が出ることを確認する.False の場合は ENV_01「CPU / GPU の依存差」に従う.

臨床データの初回コピー (Initial Data Copy)

原本は研究室 PC に置き,研究室 LAN 内で Newton へ一度だけコピーする.手元 PC を経由させない.

原本の置き場所 (Source Location)

C:\Users\Papin\clinical-data\TIASJudgeModel\

ラベルごとの 9 フォルダに PNG が直置きされている(内訳は TEST_01 データセット構成調査).

⚠ 研究室 PC では「ドキュメント」フォルダが OneDrive(OneDrive - 千葉大学)にリダイレクトされている.臨床データをドキュメント・デスクトップ配下に置くとクラウドへ同期されるため置かない.上記のプロファイル直下の独自フォルダは同期対象外である.

フォルダ名の対応 (Folder Mapping)

日本語フォルダ名をそのまま転送すると Windows(CP932)と Linux(UTF-8)の文字コード差で名前が壊れるため,ASCII のスラッグ名に対応付けてコピーする.

研究室 PC のフォルダサーバ上のディレクトリ
淡紅(正常)images/light_red_normal
暗赤紅_ありimages/dark_red_strong
暗赤紅_ややありimages/dark_red_mild
紫_ありimages/purple_strong
紫_ややありimages/purple_mild
紅_ありimages/red_strong
紅_ややありimages/red_mild
淡白_ありimages/pale_strong
淡白_ややありimages/pale_mild

手順 (Procedure)

  1. 研究室 PC で作業する(hostname で研究室 PC であることを確かめてから実行する)

  2. PowerShell で以下を実行する(対応表どおりに 9 フォルダを転送する)

    $src = "C:\Users\Papin\clinical-data\TIASJudgeModel"
    $dst = "hasegawa@192.168.23.14:~/data/TIASJudgeModel/images"
    $map = @{
      "淡紅(正常)"     = "light_red_normal"
      "暗赤紅_あり"     = "dark_red_strong"
      "暗赤紅_ややあり" = "dark_red_mild"
      "紫_あり"         = "purple_strong"
      "紫_ややあり"     = "purple_mild"
      "紅_あり"         = "red_strong"
      "紅_ややあり"     = "red_mild"
      "淡白_あり"       = "pale_strong"
      "淡白_ややあり"   = "pale_mild"
    }
    ssh hasegawa@192.168.23.14 "mkdir -p ~/data/TIASJudgeModel/images"
    foreach ($k in $map.Keys) {
      ssh hasegawa@192.168.23.14 "mkdir -p ~/data/TIASJudgeModel/images/$($map[$k])"
      scp "$src\$k\*.png" "$dst/$($map[$k])/"
    }
    
  3. コピー後に件数を突き合わせる

    (Get-ChildItem -LiteralPath $src -Recurse -File).Count   # 研究室 PC 側(1085 の見込み)
    ssh hasegawa@192.168.23.14 "find ~/data/TIASJudgeModel/images -type f | wc -l"
    
  4. 原本は研究室 PC に残す(Newton 側は作業用コピー)

以降は再転送しない.データセットの内容確認(枚数・クラス分布・破損チェック)はサーバ上のコマンドで行い,集計結果のみを手元で見る.

※ 研究室 PC から Newton への鍵が未登録の場合はパスワードを求められる.

学外アクセス用の踏み台 (Off-campus Access)

研究室 PC を ProxyJump の踏み台にする設定は SmTIAS-LightSim で構築済みのため,本プロジェクトでの追加作業は不要(未設定の場合は同プロジェクトの docs/02_ENV/ENV_02_環境構築手順.md「学外から接続する(研究室 PC 経由)」に従う).

人間が確認すべき事項 (Human Checklist)

Claude は実施できない.着手前に確認する.

  • 臨床データの倫理審査・データ利用許諾の範囲(機械学習での二次利用が含まれるか)
  • データを研究室の共用計算サーバに置くことが規程上許容されるか
  • 研究室 PC で SSH サーバを動かすことが研究室のルールに照らして問題ないか