亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

值 tf.Tensor.. shape=(), dtype=float64) 的批處理等級不足。?

值 tf.Tensor.. shape=(), dtype=float64) 的批處理等級不足。?

慕娘9325324 2023-07-27 16:44:21
我正在嘗試獲取數據幀并將它們轉換為張量以在 keras 中訓練模型。我認為當我將 Y 標簽轉換為張量時會觸發它:  X_train = df_train1.drop(variableToPredict, axis=1)  y_train = df_train1[variableToPredict].copy()X_train=tf.data.Dataset.from_tensor_slices(dict(X_train))  y_train=tf.data.Dataset.from_tensor_slices(dict(y_train))將 y_train 從切片轉換為張量時出現以下錯誤:ValueError: Value tf.Tensor(0.10559591064345274, shape=(), dtype=float64) has insufficient rank for batching.在教程中,這似乎有效,但我認為這些教程正在執行多類分類,而我正在執行回歸,因此 y_train 是一系列而不是多列。我能做什么有什么建議嗎?
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

要么使用:


y = tf.data.Dataset.from_tensors(dict(y_train))

或這個:


y = tf.data.Dataset.from_tensor_slices(y_train)

或者只使用雙括號,這樣您的數據框仍然是一個數據框,那么您就不需要更改任何內容:


y_train = df[['height']].copy()


y = tf.data.Dataset.from_tensor_slices(dict(y_train))

重現該問題的完整代碼,以及替代方案:


import tensorflow as tf

import pandas as pd


df = pd.DataFrame(data={'integers': [1, 2, 3, 4], 'floats': [4., 3., 2., 1]})


y_train = df['floats'].copy()


y = tf.data.Dataset.from_tensor_slices(dict(y_train)) # not good


y = tf.data.Dataset.from_tensor_slices(y_train) # good

print(next(iter(y)))


y = tf.data.Dataset.from_tensors(y_train) # good

print(next(iter(y)))


y_train = df[['floats']].copy()

y = tf.data.Dataset.from_tensor_slices(dict(y_train)) # good

next(iter(y))

{'floats': <tf.Tensor: shape=(4,), dtype=float64, numpy=array([5., 4., 3., 2.])>}


查看完整回答
反對 回復 2023-07-27
  • 1 回答
  • 0 關注
  • 212 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號