我正在玩 mnist_vae 示例,但无法弄清楚如何正确保存/加载训练模型的权重。
enc_init_rng, dec_init_rng = random.split(random.PRNGKey(2))
_, init_encoder_params = encoder_init(enc_init_rng, (batch_size, 28 * 28))
_, init_decoder_params = decoder_init(dec_init_rng, (batch_size, 10))
init_params = init_encoder_params, init_decoder_params
opt_init, opt_update, get_params = optimizers.momentum(step_size, mass=0.9)
opt_state = opt_init(init_params)
之后,我使用 opt_update 训练模型并希望保存它。但是,我还没有找到将优化器状态保存到磁盘的任何功能。
我尝试保存参数并用它们初始化 opt_state,但并非所有信息都保存下来,结果 opt_state_1 不是原来的 opt_state。
weights=get_params(opt_state)
jnp.save(file, weights)
weights = jnp.load(file,allow_pickle=True)
opt_state_1 = opt_init(init_params)
如何正确保存我训练的模型?