Почему создается ввод моего обучающего набора данных * Не удалось преобразовать массив NumPy в тензор (неподдерживаемый тип объекта float) * ошибка

#python #pandas #numpy #tensorflow #keras

#python #pandas #numpy #tensorflow #keras

Вопрос:

Я получаю сообщение об ошибке «Не удалось преобразовать массив NumPy в тензор (неподдерживаемый тип объекта с плавающей точкой)». при вводе моей метки в tf.data.Dataset.from_tensor_slices( ) функция. Однако, когда я нажимаю> label из training_df и ввожу dict(training_df) в функцию, ошибка устраняется.

Пожалуйста, помогите.

 
import pandas as pd
import tensorflow as tf
 
from tensorflow import feature_column
from tensorflow.keras import layers
from sklearn.model_selection import train_test_split

#tf.enable_eager_execution()

training_df = pd.read_csv('C:\Users\Lenovo\Desktop\ML\train.csv')

train , test = train_test_split(training_df,test_size=0.2)
train , val = train_test_split(train,test_size=0.25)

print(type(train))

   
feature_layer = tf.keras.layers.DenseFeatures(feature_columns)

label = train.pop('Survived') #survived is my label
         
train_ds = (
    tf.data.Dataset.from_tensor_slices(
        (
           dict(train),
           label
        )
    )
)

  

Комментарии:

1. Можете ли вы связать файл CSV, чтобы ошибка могла быть воспроизведена? Кроме того, вы можете удалить весь бесполезный код? Похоже, что вся часть feature_column не связана

2. Проверьте массив, который вы пытаетесь преобразовать. Похоже, это object dtype . Что это shape ? Если это 1d, скорее всего, вы создали массив из массивов или изображений, которые различаются по форме. Это не многомерный массив, который можно превратить в тензор.

3. @NicolasGervais я очистил код. я загрузил наборы данных из kaggle kaggle.com/c/titanic/data

4. @hpaulj я импортирую файл csv в фрейм данных, который training_df . Теперь я разделил этот фрейм данных на три фрейма данных, которые train, test and val . Мой вопрос был в том, почему tf.data. Dataset.from_tensor_slices работает только тогда, когда я передаю training_df как dict, а не train dataframe.

5. Проблема была решена, как только я сопоставил формы всех фреймов данных. Спасибо за помощь @hpaulj