{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 実験を終了する\n", "\n", "実験記録をデータガバナンス機能に保存して、実験を終了します。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.実行環境構成を記録する" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%sh\n", "conda env export -n base > ~/environment.yml\n", "pip freeze > ~/requirements.txt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. 実験記録をデータガバナンス機能に同期する\n", "\n", "実験記録をデータガバナンス機能に同期します。 \n", "以下のセルを実行してください。\n", "\n", "※データの保存先としてAWS S3準拠のオブジェクトストレージを利用する場合は、 \n", "[こちら](util/operate_S3_annex.ipynb)も併せて実行してください。" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from IPython.display import display, Javascript\n", "display(Javascript('IPython.notebook.save_checkpoint();'))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import os\n", "import glob\n", "\n", "# Git管理のパスのリストを作成する\n", "%cd ~/\n", "files = os.listdir()\n", "# ディレクトリ一覧からGit-annex管理するディレクトリ(input_dataとoutput_data)を排除する\n", "dirs = [f for f in files if os.path.isdir(f)]\n", "dirs.remove('input_data')\n", "dirs.remove('output_data')\n", "# HOME直下のファイルを取得\n", "files = [f for f in files if os.path.isfile(f)]\n", "# Git管理するパスの配列を作成する\n", "files.extend(dirs)\n", "save_path = files\n", "\n", "# Git-annex管理するパスの配列を作成する\n", "annexed_save_path = ['input_data', 'output_data']" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import papermill as pm\n", "\n", "%cd ~/\n", "# Git-annex管理ファイルを保存\n", "pm.execute_notebook(\n", " 'EX-WORKFLOW/util/base_datalad_save_push.ipynb',\n", " '/home/jovyan/.local/push_log.ipynb',\n", " parameters = dict(SAVE_MESSAGE = '実験終了 (1/2)', PATH = annexed_save_path, IS_RECURSIVE = False)\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import papermill as pm\n", "\n", "%cd ~/\n", "# Git管理ファイルを保存\n", "pm.execute_notebook(\n", " 'EX-WORKFLOW/util/base_datalad_save_push.ipynb',\n", " '/home/jovyan/.local/push_log.ipynb',\n", " parameters = dict(SAVE_MESSAGE = '実験終了 (2/2)', TO_GIT = True, PATH = save_path, IS_RECURSIVE = False)\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. この実験実行環境を停止・削除する\n", "\n", "コード利用機能を利用している場合、不要になったこの実行環境を停止・削除します。 \n", "コード付帯機能では20までしか実行環境を構築できないため、不要な実行環境は削除することを推奨します。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.1 この実行環境を確認する\n", "\n", "以下のセルを実行して実行環境のサーバー名を確認して下さい。 " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import os\n", "\n", "print(os.environ[\"JUPYTERHUB_SERVICE_PREFIX\"].split('/')[3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 コード付帯機能のコントロールパネルへ遷移し、実行環境を停止・削除する\n", "\n", "[コントロールパネル](https://jupyter.cs.rcos.nii.ac.jp/hub/home)へ遷移して、`4.1`で確認したサーバーを`stop`、`delete`ボタンをクリックして停止・削除してください。 \n", "※`delete`ボタンは、以下の図のように`stop`ボタンをクリックした後に表示されます。 \n", "![コンテナ削除キャプチャ](https://raw.githubusercontent.com/NII-DG/workflow-template/develop/sections/PACKAGE/base/EX-WORKFLOW/images/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E5%89%8A%E9%99%A4%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3.png)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.10" } }, "nbformat": 4, "nbformat_minor": 4 }