クラウドエンジニアのノート

情報技術系全般,自分用メモを公開してます。

サーバ

VS Code Remote Development (Dev Containers) で dind (Docker in Docker) する方法

VS code remote development で dind する設定 devcontainer.json に設定を一行追記するだけで OK だった。 devcontainer.json "features":{ "ghcr.io/devcontainers/features/docker-in-docker:2": {} }, 以下に dev containers の feature がいろいろあっ…

自宅IPを固定せず、Raspberry Piで自宅VPNを実現する

はじめに VPN構成 構築 クラウド側 インスタンス作成 docker, docker-composeインストール 実行 自宅ネットワーク側(ラズパイ側) ビルドーツール softether bridge Setting 実行 停止 自動起動 はじめに 個人的な話ですが、アイルランドに引っ越しました。…

GPUクラスタの使用状況をログインノードから一発で確認するシェルスクリプト

はじめに cluster-smi 使用方法 技術的な話 シンボリックリンク 並列化 なぜシェルスクリプト? はじめに うちの研究室にはGPUクラスタがありますが、各GPUノードの使用率を見るには、各GPUノードにsshしてnvidia-smiをしなければいけません。 これでは不便…

pytorchのモデルをスクリプトごと違うGPUで実行したいとき

はじめに 解決方法 はじめに Pytorchのnn.Moduleはto()とかcuda()でテンソルを違うGPU番号へ移すことができますが、すべてのテンソルが移ってくれるわけではありません。 nn.Moduleの実装のすべてを移さなくてはいけないのです。これはだるい。 解決方法 方…

オンプレGPU環境でmlfowのサーバを立てる

はじめに 立て方 guiで削除したrunsを完全削除したい はじめに 機械学習モデルを複数で開発するときがあるとおもいます。 しかしデフォルトだと、各ユーザのフォルダにmlrunsフォルダが作成されており、自分で実行した分しか見られません。 そこでdocker-com…

singularity sandboxが削除できないとき (Device or resource busy)

解決方法 lsofコマンドを使って、そのフォルダを使用してるプロセスをkillすれば良い コマンド lsof /path_to_sandbox 結果 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 269589 aaa rtd DIR 0,55 4096 397411169 path_to_sandbox run 269603 a…

Pythonでmultipart/form-dataの送受信

はじめに 送信 受信 AWSのLambda その他 はじめに 以下記事の通り、AWS上のLambdaを使って機械学習モデルのAPIを立てたのですが、 Pythonでmultipart/form-dataのパースが大変だったので共有します。 tmyoda.hatenablog.com 送信 requestsモジュールを使用す…

セグメンテーションするpytorch機械学習モデルをAWSへデプロイ(API Gateway, Lambda, ECR)

はじめに 独り言 構成 コンテナイメージの作成 フォルダ構成 Dockerfile POST, Responseスキーム app.py ローカルでテスト Lmabdaのロギング ECRにプッシュ Lambda関数作成 API Gatewayの作成 POSTテスト 感想 参考 はじめに pythonを使った機械学習モデルは…

singularityでcuda+pytorchのコンテナの作り方

はじめに 構成 使い方 実行方法 sandbox作成 shellに入る .defファイル はじめに tmyoda.hatenablog.com この記事の亜種です。 singularityは--nvを付ければホストのGPUをマウントするので、本来はホストのcudaを使いますが、harmo2とharmo5のcudaバージョン…

singularityでubuntu20.04+python(+pipenv)環境を構築

はじめに 構成 使い方 実行方法 sandbox作成 shellに入る .defファイル はじめに pythonは仮想環境が豊富なので、わざわざコンテナ化する必要ある?って思っていましたが、 いざGPUクラスタ上で動かすときに環境構築ハマったので、そのとき作成したpythonを…

docker, singularityでtzdata等の対話が必要なモジュールのインストールで止まるとき Please select the geographic area in which you live.

解決方法(非推奨) 解決方法 singularityをdefからbuildしていたのですが、以下ような画面でインストールが止まってました。 Configuring tzdata ------------------ Please select the geographic area in which you live. Subsequent configuration quest…

ubuntu18.04 noVNC dockerコンテナを公開しました

はじめに 公開したもの DockerHub GitHub はじめに tmyoda.hatenablog.com この記事のSingularityコンテナを作成するべく,参照元のdockerコンテナを作成しました. 以下の素晴らしいリポジトリを使おうと思ったのですが,あいにくubuntu18.04に対応しておら…

SingularityコンテナでOpenCV+Boostを使ったC++コードをコンパイル

はじめに コンテナ作成 作成したビルド&強化学習に必要な環境 実行方法は2つあります Singularity Libraryからpull .defファイル 注意点 はじめに 研究でC++コードをpybind11を使ってPythonから呼んで強化学習をしています. 強化学習をGPU上で回したくなっ…

Singularity + headless VNC + Pipenvを使ってサーバ上で強化学習環境を整える(gym, pybullet)

はじめに headless VNCとは headless VNCを触ってみる docker Singularity 導入 docker singularity (rootless) singularity libraryからpull (おすすめ!) ローカルPCでbuild サーバ上での作業 xfce4 パネル初期化コマンド はじめに 強化学習をしてると何か…

singularityの使い方

はじめに メリット Dockerとの違い コンテナ作成方法 コンテナ作成例 pytorch/conda-cudaをDocker Hubから.sif作成 sandboxでコンテナを作成するオプション マシン上のdockerにあるhello-world imageから conda-torch.defから コンテナ実行方法 conda-cuda-t…