나는 학습 Tensorflow 력하는 분류를 구축에 패션 MNIST 합니다. 나갈 수 있는 모형,그러나 시도할 때,예측에 나 테스트 설정을 다음과 같은 오류가:
y_pred = model.predict(X_test).argmax(axis=1)
InvalidArgumentError: ConcatOp : Dimensions of inputs should match: shape[0] = [1,32,10] vs. shape[312] = [1,16,10] [Op:ConcatV2] name: concat
나지 않아 오류가 발생하면 나는 예측에 X_test 배치에서,예를 들어:
y_pred = []
step_size = 10
for i in trange(0, len(X_test), step_size):
y_pred += model.predict(X_test[i:i+step_size]).argmax(axis=1).tolist()[0]
나는 몇 시간을 보낸 인터넷 검색과를 보고 다른 예는 같은 오류가 있지만 여전히 알아낼 수 없습니다 내가 뭘 잘못입니다. 나는 몇 가지를 시도하고는 다른 것들,적용과 같은 규모 확장 크기 단계에 수동으로 X_train 및 X_test 하기 전에 모델을 구축,그러나 같은 결과를 얻을.
이것이 나의 전체 코드를 사용하여(Python3.7.12 및 Tensorflow2.7.0):
import tensorflow as tf # 2.7.0
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# load data
mnist = tf.keras.datasets.fashion_mnist
(X_train, y_train), (X_test, y_test) = mnist.load_data()
# Build model
# Input
inputs = tf.keras.Input(shape=X_train[0].shape)
# # Scale
x = tf.keras.layers.Rescaling(scale=1.0/255)(inputs)
# Add extra dimension for use in conv2d
x = tf.expand_dims(x, -1)
# Conv2D
x = tf.keras.layers.Conv2D(filters=32, kernel_size=(3, 3), activation="relu", strides=2)(x)
x = tf.keras.layers.Conv2D(filters=64, kernel_size=(3, 3), activation="relu", strides=2)(x)
x = tf.keras.layers.Conv2D(filters=128, kernel_size=(3, 3), activation="relu", strides=2)(x)
# Flatten
x = tf.keras.layers.Flatten()(x),
x = tf.keras.layers.Dropout(rate=.2)(x) # 20% chance of dropout
x = tf.keras.layers.Dense(512, activation='relu')(x)
x = tf.keras.layers.Dropout(rate=.2)(x)
x = tf.keras.layers.Dense(K, activation='softmax')(x)
model = tf.keras.Model(inputs=inputs, outputs=x)
# Compile
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# Fit
r = model.fit(X_train, y_train, validation_data=[X_test, y_test], epochs=10)
# Throws an error
y_pred = model.predict(X_test).argmax(axis=1)
제공하는
InvalidArgumentError: ConcatOp : Dimensions of inputs should match: shape[0] = [1,32,10] vs. shape[312] = [1,16,10] [Op:ConcatV2] name: concat