|
@@ -0,0 +1,119 @@
|
|
|
+{
|
|
|
+ "cells": [
|
|
|
+ {
|
|
|
+ "cell_type": "markdown",
|
|
|
+ "id": "79b4d068-3b7a-4717-aa03-8a077b34af9d",
|
|
|
+ "metadata": {},
|
|
|
+ "source": [
|
|
|
+ "# 実験パイプラインの実行\n",
|
|
|
+ "\n",
|
|
|
+ "これは実験パイプラインを実行するためのノートブックです。"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "markdown",
|
|
|
+ "id": "20f2d8a2-3503-4702-b16c-6701eb3dc7ba",
|
|
|
+ "metadata": {},
|
|
|
+ "source": [
|
|
|
+ "## 1. 実験パイプライン情報の取得\n",
|
|
|
+ "\n",
|
|
|
+ "- このステップでは、実行する実験パイプラインの定義情報を取得します。\n",
|
|
|
+ "- 以下のセルを実行してください。"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "id": "208579b9-070c-449d-bc26-a152ff52e400",
|
|
|
+ "metadata": {},
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "import json\n",
|
|
|
+ "\n",
|
|
|
+ "# 作業ディレクトリに移動\n",
|
|
|
+ "%cd ~/experiments/\n",
|
|
|
+ "\n",
|
|
|
+ "# 実験パイプライン定義ファイルの読み込み\n",
|
|
|
+ "pipeline = json.load(open(\"pipeline.json\"))\n",
|
|
|
+ "print(\"実験パイプライン:\" + str(pipeline))"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "markdown",
|
|
|
+ "id": "aafc65db-adf6-4ec5-931d-6bae110ec306",
|
|
|
+ "metadata": {},
|
|
|
+ "source": [
|
|
|
+ "## 2. 実験パイプラインの実行\n",
|
|
|
+ "\n",
|
|
|
+ "- このステップでは、定義情報に基づいて実験パイプラインを実行します。\n",
|
|
|
+ "- 以下のセルを実行してください。"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": null,
|
|
|
+ "id": "39552e78-48cb-44cf-86d1-cf3d759f00a9",
|
|
|
+ "metadata": {},
|
|
|
+ "outputs": [],
|
|
|
+ "source": [
|
|
|
+ "import papermill\n",
|
|
|
+ "\n",
|
|
|
+ "outputs = []\n",
|
|
|
+ "\n",
|
|
|
+ "for experiment in pipeline:\n",
|
|
|
+ " print(\"\\n============================================================ \" + experiment)\n",
|
|
|
+ "\n",
|
|
|
+ " print(\"\\n# 出力ディレクトリの初期化\")\n",
|
|
|
+ " cmd = \"rm -rf \" + experiment + \"/output_data/*\"\n",
|
|
|
+ " print(\"$ \" + cmd)\n",
|
|
|
+ " !$cmd\n",
|
|
|
+ " \n",
|
|
|
+ " print(\"\\n前実験の出力データを当実験の入力データとして複製\")\n",
|
|
|
+ " for output in outputs:\n",
|
|
|
+ " cmd = \"cp -rf \" + output + \"/output_data/* \" + experiment + \"/input_data/\" \n",
|
|
|
+ " print(\"$ \" + cmd)\n",
|
|
|
+ " !$cmd\n",
|
|
|
+ "\n",
|
|
|
+ " print(\"\\n実験再現のための環境構築\")\n",
|
|
|
+ " cmd = \"pip install -r \" + experiment + \"/requirements.txt\"\n",
|
|
|
+ " print(\"$ \" + cmd)\n",
|
|
|
+ " !$cmd\n",
|
|
|
+ "\n",
|
|
|
+ " print(\"\\n実験ソースコードの実行\")\n",
|
|
|
+ " cmd = experiment + \"/source/\"\n",
|
|
|
+ " print(\"$ cd \" + cmd)\n",
|
|
|
+ " %cd $cmd\n",
|
|
|
+ "\n",
|
|
|
+ " papermill.execute_notebook(\"main.ipynb\", \"log.ipynb\")\n",
|
|
|
+ " \n",
|
|
|
+ " cmd = \"-\"\n",
|
|
|
+ " print(\"$ cd \" + cmd)\n",
|
|
|
+ " %cd $cmd\n",
|
|
|
+ "\n",
|
|
|
+ " print(\"\\n次実験に備えて本実験の出力データを登録\")\n",
|
|
|
+ " outputs += [experiment]"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "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.8.12"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "nbformat": 4,
|
|
|
+ "nbformat_minor": 5
|
|
|
+}
|