LoginSignup
2
2

More than 3 years have passed since last update.

VSCodeのRemote ContainersでABEJA Platformの学習コードをデバッグする方法

Last updated at Posted at 2019-05-27

はじめに

プログラムを作る際に、デバックを迅速に行えることは重要です。Visual Studio CodeがDockerコンテナ内のリモートデバッグ機能をサポートしたということで、早速ABEJA Platform上で学習コードをデバッグしてみました。本記事ではその方法について説明します。なお、本記事はプラットフォームの使い方を一通り学んだ方を対象とし、用語の説明などは省略します。

VSCodeのインストール

2019年5月現在、VSCodeのRemote Containers機能は、VSCodeではなく、VSCode Insidersという新機能をいち早く試せるバージョンでしか利用できませんので、そちらをダウンロードして利用しましょう。Macならば以下でも使えるらしいです。

$ brew cask install visual-studio-code-insiders

RemoteContainerをインストール

以下をインストールするだけです。

Kobito.MpAUCe.png

Dockerfileの作成

以下のようなDockerfileを作成しましょう。USER_IDTOKENORGANIZATION_IDはプラットフォームのコンソールに表示されているものを使いましょう。DATASETSは学習データセットのIDを入れます。

  1 FROM abeja/all-cpu:18.10
  2
  3 ENV ABEJA_PLATFORM_USER_ID user-XXXXXXXXXXXXXXXXXXXXX
  4 ENV ABEJA_PLATFORM_PERSONAL_ACCESS_TOKEN XXXXXXXXXXXXXXXXXXXXXXXXXXX
  5 ENV ABEJA_ORGANIZATION_ID XXXXXXXXXXXXXXXXX
  6 ENV DATASETS '{"train":"XXXXXXXXXXXXXXX"}'
  7
  8 RUN pip install -U abeja-sdk abejacli
  9
 10 RUN mkdir /app

Docker Containerを立ち上げ

ここではコードが/home/user/workspaceに保存されていることとしましょう。対象のディレクトリをマウントしてコンテナを立ち上げておきます。

$ docker build -t platform_container .
$ docker run -it --rm -v /home/user/workspace:/app platform_container:latest

コンテナ内にアクセス

VSCode Insidersを起動し、F1からRemote-Containers: Attach to Running Containerを選択し、先ほど起動したコンテナを選択します。すると、新しくVSCodeの画面が立ち上がります。

Kobito.rZQ8ev.png

Kobito.JphPt8.png

プロジェクトの初期設定

先ほどコードを/appにマウントしたので、FileOpen...メニューから、そのディレクトリを開きましょう。以下のような画面になっているかと思います。

Kobito.lPFK1v.png

Pythonのデバッグをするために、PythonのExtensionをインストールしましょう。

Kobito.CGnxO3.png

続いて、ABEJA Platformの仕組みでデバッグするためにConfigurationを設定します。以下のメニューを選択し、Pythonを選択しましょう。

Kobito.Be9ECU.png

Kobito.F2yqij.png

すると、launch.jsonの編集画面に移るので以下のように修正します。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "/usr/local/bin/abeja-model",
            "args": ["train", "--handler", "main:handler"],
            "console": "integratedTerminal"
        }
    ]
}

デバッグの実行

準備はできたので、F5を押してデバッグできます!

Kobito.hYT2Lh.png

まとめ

VSCodeを使ってABEJA Platformのコードをデバッグする手順について書きました。良きABEJA Platformライフを!

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2