2017-04-25 11 views
-1

私のスクリプトは、1分でたくさんの変数を読み込むことに依存し、多くの関数でそれらをグローバルに使用します。私がiPythonでスクリプトを呼び出すたびに、時間をかけてスクリプトを再度読み込みます。Pythonスクリプトで大きなオブジェクト/モデルをメモリ内に保存してPythonスクリプトで再利用できるようにするためのコード

これらの呼び出しを呼び出して、そのスクリプトから関数を読み込んで読み込もうとしましたが、これらのグローバル変数はスクリプトの関数で使用できません。 NameError: name 'clf' is not definedエラーメッセージが表示されます。

このコードをリファクタリングしてこれらのグローバルをメモリに保持し、スクリプトで使用する最良の方法はありますか?スクリプトは、これらのような多くの変数をロードし、それらを他の関数でグローバルとして使用します。

vectorizer_title, vectorizer_desc, clf, df_instance, vocab, all_tokens, df_dist_all, df_soc2class_proba, dict_p2s, dict_f2m, token_pattern, cleanup_pattern, excluded_words = load_data_and_model(lang) dict_token2idx_all, dict_token2idx_instance, dist_array, token_dist_to_instance_min, dict_bigram_by_instance, denominate, similar_threshold = populate_data(1)

答えて

0

私はそれがiPythonで働いていなかった from depended_library import * を試した後、この質問をしていました。 しかし、Pythonで使用され、Flask Web APIで使用されています。

"from"ステートメントを使用してライブラリをインポートすると、関数の定義に加えてdepended_libraryの関数のコードも実行されます。

(誰かがiPythonの問題点を説明して解決策を提案した場合、回答として選択します)

関連する問題