首页 > 解决方案 > 如何定义自动编码器使用的初始权重?

问题描述

当我使用一组固定的参数多次运行我的自动编码器时,我在准确性和其他指标上得到了一些不同的结果。我想这是因为最初神经网络选择随机权重。我希望结果总是一样的。我可以修改权重的随机选择吗?如何使我的结果具有确定性而不是随机性?

标签: pythonmachine-learningkerasneural-networkautoencoder

解决方案


你需要设置种子

我通常使用下面这个简单的功能

def keras_seeding(seednum):
    np.random.seed(seednum)
    from tensorflow import set_random_seed
    set_random_seed(seednum)
    random.seed(seednum)
    os.environ['PYTHONHASHSEED'] = str(seednum)

seednum=1123
keras_seeding(seednum)

推荐阅读