Python の複数ファイルのグローバル変数の設定と呼び出し

グローバル変数

場合によっては、vocab_size などの同じグローバル変数を異なるファイルで定義する必要がある場合があります。各ファイルで手動で変更すると、大きなエラーが発生するだけでなく、後のパラメータ調整のプロセスでも発生します。変えるのに不便。この問題を解決するために、ファイルhyperparameters.pyを作成し、事前に作成したモジュールを呼び出すことで目的を達成します。
明確にするために、ここでは同じフォルダーに配置された 3 つの Python ファイルが必要です。

  • module.py はモジュールを定義するために使用されます
  • hyperparameters.py はハイパーパラメータ (つまり、グローバル変数) を定義するために使用されます。
  • main.py は、hyperparameters.py を通じてハイパーパラメータを呼び出します。

以下に各ファイルmodule.pyの内容を説明します。

def _init():
    global _global_dict
    _global_dict = {
    
    }
 
 
def set_value(key,value):
    _global_dict[key] = value
 
 
def get_value(key,defValue=None):
    try:
        return _global_dict[key]
    except KeyError:
        return defValue

ハイパーパラメータ.py

import module as global_var

global_var.set_value('vocab_size', 20000)
global_var.set_value('unk_token', '<unk>')
global_var.set_value('student_numbers', [1, 2, 3])

main.py

from hyperparameters import global_var

vocab_size = global_var.get_value('vocab_size')
# vocab_size = 20000
batch_size = global_var.get_value('batch_size')
# batch_size = None 因为没有在hyperparameters.py中定义

実際、module.pyhyperparameters.py という2 つのファイルを定義した後、ハイパーパラメータを共有する必要がある各ファイルは、global_varfrom hyperparameters import global_varキーワードを介してパラメータを取得するために渡すだけで済みます。

おすすめ

転載: blog.csdn.net/Petersburg/article/details/126617020