微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Numpy 数组作为模型的输入

如何解决Numpy 数组作为模型的输入

我有一个格式为 [train[:,:,0:count]] 的模型输入,如下所示

n_step = 10
count = 8
def create_model():
    input = Input(shape=(n_steps,count),name='input')
    --------
    --------
    rest of the network

if __name__ == "__main__":

    model = create_model()
    history = model.fit([train[:,0:count]],[y_train],epochs=50,batch_size=64,validation_data=[[val[:,y_validation])

    validationPredict = model.predict([val[:,verbose=2)

第一维是样本,第二维是时间步长,第三维是特征(这里是 8 个)。 我有每个样本的时间戳和功能(在列表中)。但我不明白如何将它们存储在一个 numpy 数组中,以便我可以使用相同的格式(3d)来训练网络。

任何建议都会有很大帮助。谢谢!

解决方法

据我所知 - 您需要将长二维序列转换为短序列。

您必须创建长度为 10 的序列:

n_step = 10
inp = np.random.uniform(size=(100,20)).tolist() # long 2D sequence
labels = np.random.uniform(size=(100,)).tolist() # long 1D labels

sequences = [inp[x:x+n_step] for x in range(len(inp)-n_step)]
train = np.array(sequences) # 3D input numpy array
sequences = [labels[x:x+n_step] for x in range(len(inp)-n_step)]
y_train = np.array(sequences) # 2D labels numpy array

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。