#python #tensorflow
#python #tensorflow
Вопрос:
Я обучаю 3dcnn изображениям вместе с их ограничивающими рамками. но когда я выполняю программу, я получаю следующую ошибку. Я погуглил, но не нашел ничего, чтобы это исправить. любая помощь будет оценена.
вот ПРИМЕР кода:
images = glob.glob("C:/Users/MSI/Desktop/Images/*.ppm")
images = sorted(images,key= os.path.getmtime)
train_image =[]
x1 = []
depth = 10
for i in tqdm(range(len(images))):
timg = image.load_img(images[i])
image1= timg.resize((40, 40))
img = image.img_to_array(image1)
train_image.append(img)
print(len(train_image))
IMG = np.array(train_image)
train_image = np.expand_dims(train_image,4)
x = train_image.transpose(4,0,1,2,3)
print("shape of x,",x.shape)
df = pd.read_csv('C:/Users/MSI/Desktop/data_js1.csv')
Y_In = np.array(df)
Y_In = Y_In.reshape(1,-1)
Input_shape1 =(40,40,40,3)
num_classes = 1
model = Sequential()
X_train = x
Y_train = Y_In
print(Y_train.shape,"y_train shape")
print(X_train.shape,"x shape")
model.add(Conv3D(32, kernel_size=(1, 1, 1), input_shape =
Input_shape1))
model.add(Activation('relu'))
model.add(Conv3D(32, kernel size=(3, 3, 3), padding='same'))
model.add(Activation('relu'))
model.add(MaxPooling3D(pool size=(2,2,2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Batch Normalization())
Комментарии:
1. model.compile(потеря =категориальная_кроссэнтропия,оптимизатор=’Adam’,метрики=[‘точность’]) печать(model.summary()) история = model.fit(X_train, Y_train, batch_size=40, эпохи = 3, подробный = 1, перемешать = True)
2. Содержит ли фрейм данных только ограничивающие рамки? Кроме того, почему вы применяете пакетную нормализацию на последнем уровне?
3. это некоторая часть кода .. последний слой на самом деле не является пакетной нормализацией. она плотная. да, просто содержит ограничивающие рамки. [[71.78683385579937, 72.01253918495298], [111.5987460815047, 251.94984326018812]] вот значение из одной ячейки csv
4. Не могли бы вы найти тип этих значений в вашем фрейме данных? Кажется, что есть строки.
5. это тип данных объекта