bugfix> python > 投稿

私は自分の問題を解決するはずのいくつかの解決策を見つけようとしましたが、今のところそれらのどれも機能していません。 (お気に入りTensorflow ValueError:入力を処理できるデータアダプターが見つかりませんでした)

入力形状のカスタムデータセットを使用して、Keras(TFから)を介してニューラルネットワークを実行しています: (5000, 1) と出力形状 (5000, 16) 。 入力は時間とサイクル番号であり、出力は16個のランプのそれぞれの状態です(オフの場合は0、オンの場合は1)。私はオプティマイザーとしてAdamを使用していますが、損失は「categorical_crossentropy」です(これを使用してエラーが発生した可能性があります...わかりません)。

したがって、問題は、ネットワークをトレーニングしようとすると、次のエラーメッセージが表示されることです。

WARNING:tensorflow:Falling back from v2 loop because of error: Failed to find data adapter that can handle input: <class 'pandas.core.frame.DataFrame'>, <class 'NoneType'>

しかし、通常、私の入力と出力の両方は <class 'pandas.core.frame.DataFrame'>

そして私の損失は loss: nan 。エラーがどこから来るのかわからないので、これは少しイライラします。

何が悪いのか考えがあれば?混乱しすぎる場合は、コードを提供できます。

よろしくお願いします!

編集:尋ねられたように、ここに私のコードがあります:

   import pandas as pd
    import tensorflow as tf
    
    from tensorflow.keras.models import Model
    from tensorflow.keras.layers import Input, Dense
    
    # Read csv file into a pandas dataframe
    data= pd.read_excel(r'/datasetV07clear16lamps.xlsx') 
    
    #Index by time
    data.sort_values("Time") 
    print(data.isnull().any() )
    
    #split the dataset 
    train=data[0:5000]
    test=data[5000:]
    print(train.shape)
    print(test.shape)
    
    ## split the dataset into train and test dataset
    # create train dataset
    X1_train=train[['Time']]
    X2_train=train[['cycle']]
y_train=train[['L1green','L1orange','L1red','L1blink','L2green','L2orange','L2red','L2blink','L3green','L3orange','L3red','L3blink','L4green','L4orange','L4red','L4blink']]
    
    #create test dataset
    X1_test=test[['Time']]
    X2_test=test[['cycle']] 
y_test=test[['L1green','L1orange','L1red','L1blink','L2green','L2orange','L2red','L2blink','L3green','L3orange','L3red','L3blink','L4green','L4orange','L4red','L4blink']]
    # Define the input
    input_tensor = Input(shape=(2,))
    
    # Define the output
    output_tensor = Dense(16)(input_tensor)
    
    # Create a model
    model = Model(input_tensor, output_tensor)
    
    # Compile the model
    model.compile(optimizer='adam', loss='categorical_crossentropy')
    
    # Fit the model
    model.fit(train[['Time','cycle']], train[['L1green','L1orange','L1red','L1blink','L2green','L2orange','L2red','L2blink','L3green','L3orange','L3red','L3blink','L4green','L4orange','L4red','L4blink']], verbose=True, batch_size=16384, epochs=100)