Я пытаюсь классифицировать некоторые числовые данные с помощью TensorFlow.Я работал над этим учебным пособием, но вместо этого импортировал некоторые другие данные из csv.Запуск строки
predictions = model(features)
вызывает ошибку
InvalidArgumentError: In[0] is not a matrix [Op:MatMul]
, когда функция определена как
<tf.Tensor: id=8, shape=(1000,), dtype=float32, numpy=array([-0.15328342,...)
и
, помечены как
<tf.Tensor: id=9, shape=(), dtype=string, numpy=b'left'>
Мой код
tf.enable_eager_execution()
...
X_train, X_test, y_train, y_test =
train_test_split(df.drop(['label'], axis=1), df["label"], test_size=0.25, random_state=42)
dataset =
tf.data.Dataset.from_tensor_slices(((X_train.values,y_train.values)))
dataset.label_name=label_name
dataset.column_names=column_names
dataset.num_epochs=1
features, labels = next(iter(dataset))
model = tf.keras.Sequential([
tf.keras.layers.Dense(2000, activation=tf.nn.relu, input_shape=(1000,)),
tf.keras.layers.Dense(2000, activation=tf.nn.relu),
tf.keras.layers.Dense(1000)
])
predictions = model(features)
predictions[:1000]
Изменения
predictions = model.predict(features)
Error when checking input: expected dense_24_input to have shape (1000,) but got array with shape (1,)
Похоже, существует проблема с определением моих тензоров.
print("Features: {}".format(feature_names))
print("Label: {}".format(label_name))
возвращает
Features: Index(['v1', 'v2', 'v3', 'v4', 'v5', 'v6', 'v7', 'v8', 'v9', 'v10',
...
'v991', 'v992', 'v993', 'v994', 'v995', 'v996', 'v997', 'v998', 'v999',
'v1000'],
dtype='object', length=1000)
Label: label
, но существует только один тензор без имени (shape = (1000,))