Python 如何使用AutoKeras获得可重复的结果

Python 如何使用AutoKeras获得可重复的结果,python,numpy,keras,tensorflow2.0,auto-keras,Python,Numpy,Keras,Tensorflow2.0,Auto Keras,我需要用AutoKeras为相同的输入和配置重现结果:我在笔记本开始时尝试了以下方法,但仍然没有得到相同的结果 我使用的是Tensorflow 2.0.4和AutoKeras 1.0.12 seed_value= 0 import os os.environ['PYTHONHASHSEED']=str(seed_value) os.environ['TF_CUDNN_DETERMINISTIC'] = str(seed_value) import tensorflow as tf tf.r

我需要用AutoKeras为相同的输入和配置重现结果:我在笔记本开始时尝试了以下方法,但仍然没有得到相同的结果

我使用的是Tensorflow 2.0.4和AutoKeras 1.0.12

seed_value= 0

import os
os.environ['PYTHONHASHSEED']=str(seed_value)
os.environ['TF_CUDNN_DETERMINISTIC'] = str(seed_value)


import tensorflow as tf
tf.random.set_seed(seed_value)

from keras import backend as K
import autokeras as ak


import random
random.seed(seed_value)


import numpy as np
np.random.seed(seed_value)
注:
我想在不同的时间复制结果;i、 e.在关闭笔记本后获得相同的结果,然后再次运行代码。。不在同一个会话中。

我想,您需要在每次调用前对生成器进行种子设定,以便可以复制。最好的选择是制作这样的装饰器(或上下文管理器):

导入上下文库
@contextlib.contextmanager
def可复制(种子值=0):
导入操作系统
os.environ['pythonhasheed']=str(种子值)
os.environ['TF_CUDNN_DETERMINISTIC']=str(种子值)
导入tensorflow作为tf
tf.random.set_seed(seed_值)
从keras导入后端为K
将autokeras作为ak导入
随机输入
随机种子(种子值)
将numpy作为np导入
np.random.seed(seed_值)
产量
@可复制的
def main():
#…把你的代码放在这里。。。
UPD

注意:我想在不同的时间复制结果;i、 e.在关闭笔记本后获得相同的结果,然后再次运行代码。。不是在同一个会议期间

然后呢


@madbrd感谢您的回答,但我想在不同的时间复制结果;i、 e.在关闭笔记本后获得相同的结果,然后再次运行代码。。不是在同一个会话中。@userInThisWorld,这有什么不同?(除非
random
不是唯一的罪魁祸首)