繁体   English   中英

为什么我会为同一个数据集得到不同的输出?

[英]Why am I getting different outputs for the same dataset?

此代码旨在尝试预测加密货币的未来价格。 当我给它提供数据时,它每次都会输出不同的东西。 为什么是这样?

完整代码链接: https://pastebin.com/cEfDCL8H

此代码输出看似随机的内容,我不知道为什么。

x,y = preprocess_df(test_df)

model = tf.keras.models.load_model('models/RNN_Final-15-0.972.model')

prediction = model.predict(x)

print("15 Min Prediction(0): " + str(CATEGORIES[np.argmax(prediction[0])]))

在神经网络初始化时,分配随机权重。 这会在最终 output 中产生差异。 为避免这种情况,您可以使用随机种子,以便每次应用相同的随机权重。

例如:您需要在所有需要的变量中设置种子如下所述:

# Set a seed value
seed_value= 12321 
import os

# 1. Set `PYTHONHASHSEED` environment variable at a fixed value
os.environ['PYTHONHASHSEED']=str(seed_value)

# 2. Set `python` built-in pseudo-random generator at a fixed value
import random
random.seed(seed_value)

# 3. Set `numpy` pseudo-random generator at a fixed value
import numpy as np
np.random.seed(seed_value)

# 4. Set `tensorflow` pseudo-random generator at a fixed value
import tensorflow as tf
tf.set_random_seed(seed_value)

# 5. For layers that introduce randomness like dropout, make sure to set seed values 

model.add(Dropout(0.25, seed=seed_value))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM