保存变量以备以后在Python中使用

2024-04-25 14:13:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我在尝试学习一些神经网络的知识,我写了我的第一个程序。我不想浪费在训练网络上的所有时间,把调整后的参数保存在一个文件中,以后再加载(一小时、一天或一年)。 下面是Network类的结构构造函数,我想保存它的可用性:

def __init__(self, sizes):
    self.num_layers = len(sizes)
    self.sizes = sizes
    self.biases = [np.random.randn(y, 1) for y in sizes[1:]]
    self.weights = [np.random.randn(y, x)
             for x, y in zip(sizes[:-1], sizes[1:])]
    return

这是我试图保存和加载它

^{pr2}$

在指定的地方出现io.UnsupportedOperation: not readable错误,这是灾难性的失败。在

事实上,我很确定即使是这种方法也有点不好,所以我很乐意接受任何关于如何解决我的问题的建议或暗示。在


Tags: 文件inself程序网络for参数np
1条回答
网友
1楼 · 发布于 2024-04-25 14:13:50

感谢LaundroMat的提示,我在下面的代码中找到了一个使用pickle库的有效解决方案

import pickle

def save(net, name = "noname"):
    with open("{0}.nn".format(name),"wb") as save_file:
        pickle.dump(net,save_file)

def load(name = "noname"):
    with open("{0}.nn".format(name),"rb") as load_file:
        return pickle.load(load_file)

尽管如此,我还是很感激你的评论。在

相关问题 更多 >