程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 Python 中使用 NeuralNetwork 和 Tensorflow 预测单个 float64 时输出形状错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 Python 中使用 NeuralNetwork 和 Tensorflow 预测单个 float64 时输出形状错误?

开发过程中遇到在 Python 中使用 NeuralNetwork 和 Tensorflow 预测单个 float64 时输出形状错误的问题如何解决?下面主要结合日常开发的经验,给出你关于在 Python 中使用 NeuralNetwork 和 Tensorflow 预测单个 float64 时输出形状错误的解决方法建议,希望对你解决在 Python 中使用 NeuralNetwork 和 Tensorflow 预测单个 float64 时输出形状错误有所启发或帮助;

我正在尝试使用设备的无条件概率作为输入和汇总能耗作为目标来训练 NN。训练后,我想用特定日期的无条件概率作为输入来预测总能耗。我的 input_vector @R_696_7957@,其中每个概率代表四分之一的设备。这个数据的形状是(3591,1):

array([[1.79533646e-07,1.51181047e-07,1.52308913e-07,0.00000000e+00],[1.79533646e-07,1.56539716e-07,...,[1.14695702e-06,1.06214309e-06,9.79890545e-07,6.48832643e-06],9.54103951e-07,5.19066115e-06],5.19066115e-06]])

我的目标@R_696_7957@,形状为 (3591,):

array([216.84,195.95,221.62001,0.,0.     ],dtype=float32)

我的 prob_one_day 是在形状为 (1,4) 的特定索引上的一个设备的无条件概率:

array([[8.15613879e-07,7.55301756e-07,7.70720187e-07,2.88730526e-06]])

我的神经网络使用以下代码构建如下:

  input_vectors=np.array([np.array(xi) for xi in x])
  input_vectors=np.where(np.isnan(input_vectors),input_vectors)
  targets=np.array(y.reset_index()['1'])
  #targets=resIDuals

  In = tf.keras.input(
    shape=(4,),batch_size=None,name=None,dtype=None,sparse=None,tensor=None,ragged=None,type_spec=NonE)

  Layer1=tf.keras.layers.Dense(128,activation='relu')(In)
  Layer2=tf.keras.layers.Dense(5000,activation='softmax')(Layer1)
  neural_network=Model(inputs=In,outputs=Layer2)
  neural_network.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])

  neural_network.fit(input_vectors,targets,epochs=5)

  forecast_index=j+95
  prob_one_day=(np.array(prob_sum(df_prob_sum.loc[forecast_index,:],df_prob_sum.loc[j-1,:]))).reshape(1,4)
  
  forecast_resID=neural_network.preDict(prob_one_day)
  model_forecast=forecast_resID+pred_arimax_Now
  forecasts.append(model_forecast)

  neural_network.evaluate(np.array(forecasts),np.array(real_values))

该模型进行了训练和预测,但它为 .evaluate 提供了以下错误:

 ValueError: input 0 is incompatible with layer model_23: expected shape=(None,4),found shape=(None,1,5000)

环顾四周后,似乎预测的形状为 (1,5000),我认为这是第 2 层中 5000 个神经元的结果。然而,我需要这个数字来满足目标变量中不同标签的数量。

在堆栈溢出中,我发现了许多关于单张图像输出的帖子,但由于我没有图像但有 float64,因此我无法成功地使这项工作适用于我的特定情况。

知道如何让代码运行以便能够评估模型吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的在 Python 中使用 NeuralNetwork 和 Tensorflow 预测单个 float64 时输出形状错误全部内容,希望文章能够帮你解决在 Python 中使用 NeuralNetwork 和 Tensorflow 预测单个 float64 时输出形状错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。