見出し画像

Paperspaceでコンテナを引っ越す最短手順:notebooksをZIPで丸ごと移行する

<2回目用(コマンドのみ)>
ZIP作成コマンド

zip -r notebooks.zip . -x "notebooks.zip" -x "*.Trash-0*"

ZIP解凍コマンド

unzip /notebooks/notebooks.zip -d /notebooks/

<記事内容>一度自分のPaperspaceのコンテナで運用しているとなかなか別なコンテナに移動出来ないという経験を持たれている方は多いのではないでしょうか?

そういう私もそんな中、ipynbファイルとか手動でダウンロードして、新しいインスタンスにアップロードしたりと面倒な引っ越しを繰り返していました。

元々のセルコマンドを保存しているフォルダはあるのですが、コマンドを変えたりする事もあるので使い回し

今回の記事を作成するにあたってこれらのストレスが非常に少ない引っ越し方法を検討したので、それについて記事にしておきます。

個人的には手間が大幅に減ったので満足しています。

※この方法は一時ディレクトリで運用している際に有効かと思います。

<方法>

①notebooksディレクトリにあるファイルとフォルダを全てZIPファイルに圧縮

②ZIPファイルを新しいコンテナにアップロード

③ZIPファイルをターミナルで解凍


これで、元々のコンテナに入れていたipynbファイルなどがそのままの配置で使用できるようになります。

この方法の場合、ZIPファイルの容量が大きい場合にダウンロードやアップロードに時間がかかるため、基本はipynbファイルとpyファイルなどのスクリプトだけを対象にします。
モデルやLoraをnotebooksに配置されている方はそれらだけgoogle driveとかから追加ダウンロードする方法が良いと思います。

以下、実例紹介ということで、①から③の手順のコマンドの流れを説明します。

実行した以下の私のコンテナで行いました。
移動先は面倒なので、同じ名前のコンテナにします。

zipが行えるPythonのパッケージのインストールが必要です。
※python 3.13のものだと、v5ぐらいまではzipがインストールされていない可能性があります。

shibashiba2/paperspace-gradient-base-py313-pytorch2.8.0:v8.0

今回は「ターミナル」で実行します。

以下はインスタンスを実行した際の一覧になります。
私の場合は雑多にipynbファイルやpyスクリプトが配置されています。

ターミナルを実行するのは、下の赤枠をクリックします。

すると右下のログがあったところが「ターミナル」になります。
赤枠の部分。

①ターミナルで以下のコマンドを入力する

※ターミナルだとセルコマンドと異なり、「!」がいらない

zip -r notebooks.zip . -x "notebooks.zip" -x "*.Trash-0*"

これを入力してエンターを押すとZIPファイル作成が行われます。

※zipコマンドが無い場合は以下でインストール可能

apt-get update -y && apt-get install -y zip unzip

②「ファイル」のところからZIPファイルを選択し、ダウンロードします。

赤枠のファイルの部分をクリックして、右のrefreshを押すと、更新され、ZIPファイルが表示されます。

ZIPファイルは右クリックしてダウンロードします。
選択すると以下の文言がでますが、DISMISSをそのまま押すと進めます。

遅い場合は、Google driveに転送する方法もあります。
私の場合は7MBぐらいでしたので、そのままダウンロードを強行。
試した際に、反応が悪かったのですが、何回か行うと反応してくれました。

③別なインスタンスを設定し、ZIPファイルをアップロード

※今使用しているインスタンスは「STOP MACHINE」で止める必要があります。
新しいインスタンスの設定は以下の記事で記載しています。それを参照してください。
Paperspace用の自作Dockerイメージまとめ@2025/09|shiba*2

インスタンスが立ち上がったあら、先ほどのnotebook.zipをアップロードします。赤枠のところから出来ます。

④ターミナルから、ZIPファイルを解凍する

先ほどと同じ手順でターミナルを開き、以下のコマンドを実行します。

unzip /notebooks/notebooks.zip -d /notebooks/

これで以下のように元と同じ配置のものが再現出来ました。

この方法で、かなり引っ越しの手間が省けるかと思います。

<追記>
zipコマンドが使えない場合
tarコマンドを使用する
①引っ越し元のコンテナで行う

tar -czvf notebooks.tar.gz --exclude='notebooks.tar.gz' .

②引っ越し先のコンテナで行う

tar -xzvf /notebooks/notebooks.tar.gz -C /notebooks/

いいなと思ったら応援しよう!