Configuración y llamadas de variables globales de varios archivos de Python

variable global

A veces necesitamos definir la misma variable global en diferentes archivos, como vocab_size, etc. Si la cambiamos manualmente en cada archivo, no solo es propenso a errores de dedos grandes, sino también en el proceso de ajuste de parámetros posterior. inconveniente cambiar. Para resolver este problema, creamos un archivo hyperparameters.py y logramos el objetivo llamando a un módulo que escribimos de antemano.
Para aclarar, necesitamos tres archivos python aquí, colocados en la misma carpeta:

  • module.py se usa para definir módulos
  • hyperparameters.py se utiliza para definir hiperparámetros (es decir, variables globales)
  • main.py llama a los hiperparámetros a través de hyperparameters.py

A continuación se explica el contenido de cada archivo
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

hiperparámetros.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])

principal.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中定义

De hecho, después de definir los dos archivos module.py e hyperparameters.py , cada archivo que necesita compartir hiperparámetros solo necesita pasar para obtener parámetros from hyperparameters import global_vara través de la palabra clave global_var

Supongo que te gusta

Origin blog.csdn.net/Petersburg/article/details/126617020
Recomendado
Clasificación