質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

4871閲覧

Jupyter notebookで実行・保存・終了すると変数に格納された値は消えるが、それを次回に開いた時にも保持できるようにしたい

fy_2000

総合スコア20

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2018/06/16 04:24

編集2018/06/16 06:25

まずJupyter notebookで処理を実行し保存して終了します。そのあとにそのnotebookを開き続きに何か処理を記入して実行しても、前に行われた変数は保持されていないため、今までの処理をもう一度する必要があると思います。
少し重い計算をしたあとなどに、その重い計算を再度するのはいやなので、
一番はじめにnotebookを保存する際に変数などの値も保持して保存し、その後再度起動して実行しても、保持していた前の変数を利用して途中から計算できるような機能や方法をご存知でしたら教えていただけないでしょうか。
よろしくお願いいたします。

(重い処理を行った後に、変数をファイルか何かに保存しておいて、次回以降はそれを読みなおすという方法もあるのですが、それは最終の手段にしたいと考えています。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

pickleというモジュールを使うとオブジェクトの保存とロードができたはずです。たいていは、機械学習などの学習後のパラメーターの保存に使いますが、計算結果の変数にも使えるはずです。

投稿2018/06/16 12:08

R.Shigemori

総合スコア3376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fy_2000

2018/06/17 01:49

回答頂き、ありがとうございます。 こちらの方法は自分の知らない方法で、勉強になりました。 どの方法をとっても、変数をファイルに保存する方法をとる必要があるようです。
guest

0

%storeというマジックコマンドがあります。

使い方はこちらで説明されているとおりですが、

a = (計算など) b = (別の計算など) %store a %store b

としておくと、a bの値が保存されます。

Jupyterのセッションを一度閉じてから、再度開くと、上記の計算する行を実行しなくても、

%store -r

とするだけで、a bの値が格納されています。

内部的にはpickleを使っているのだと思いますし、結局はファイルに保存されているわけですが、自分で明示的にファイルを取り扱う必要がなくて便利です。

投稿2018/08/22 19:47

naotohori

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

処理結果をファイルに保存し、次の処理のときにそのファイルから処理結果を復元させるようなコードを書けばいいです

投稿2018/06/16 10:43

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fy_2000

2018/06/16 11:45

返信ありがとうございます。 ご指摘の方法ですが、本文中にも書いておりますように、その方法は最終手段にしたいと考えており、他の方法がないか検討しています。
y_waiwai

2018/06/16 11:48

Jupyter notebookというのは単なる実行環境なので、そういう機能はないですね
whaler

2021/02/18 17:03

嘘はやめましょうね 知らないのに解答しないように
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問