Python 关于机器学习中的时代和图像
当我传递到CNN模型时,我在train_images中有186个图像,在valid_images中有174个图像。我没有创建任何批量大小。数据集名称为Python 关于机器学习中的时代和图像,python,tensorflow,machine-learning,keras,deep-learning,Python,Tensorflow,Machine Learning,Keras,Deep Learning,当我传递到CNN模型时,我在train_images中有186个图像,在valid_images中有174个图像。我没有创建任何批量大小。数据集名称为 “” 打印(序列图像.形状) 打印(类型(列车图像)) 打印(有效的图像.形状) 打印(类型(有效图片)) 打印(序列号目标形状) 打印(有效的\u targets.shape) 打印(类型(系列目标)) 打印(类型(有效_目标)) ''' 输出为 (186, 20, 20, 3) (174, 20, 20, 3) (186, 33) (174,
“”
打印(序列图像.形状)
打印(类型(列车图像))
打印(有效的图像.形状)
打印(类型(有效图片))
打印(序列号目标形状)
打印(有效的\u targets.shape)
打印(类型(系列目标))
打印(类型(有效_目标))
'''
输出为
(186, 20, 20, 3)
(174, 20, 20, 3)
(186, 33)
(174, 33)
'''
模型
model=tf.keras.Sequential()
添加(tf.keras.layers.Conv2D(20,(3,3),activation='relu',input_shape=(20,20,3)))
添加(tf.keras.layers.MaxPooling2D(2,2))
添加(tf.keras.layers.flatte())
model.add(tf.keras.layers.Dense(100,activation='relu'))
添加(tf.keras.layers.density(33,activation='softmax'))
compile(loss='classifical\u crossentropy',metrics=['accurity'],optimizer='adam')
model.summary()
'''
型号:“顺序_3”
_________________________________________________________________
层(类型)输出形状参数
=================================================================
conv2d_3(conv2d)(无、18、18、20)560
_________________________________________________________________
最大池2D池3(最大池2(无、9、9、20)0
_________________________________________________________________
展平3(展平)(无,1620)0
_________________________________________________________________
致密(致密)(无,100)162100
_________________________________________________________________
致密_5(致密)(无,33)3333
=================================================================
总参数:165993
可培训参数:165993
不可训练参数:0
___________________________
'''
hist=model.fit(序列图像,序列目标,历元=100,验证数据=(有效序列图像,有效序列目标))
'''
纪元1/100
6/6[=========================================================-0s 10ms/步-损耗:2.7642-精度:0.4355-val_损耗:3.1673-val_精度:0.1839
为什么只训练6张图片?
我是Ml的初学者,所以如果有人帮忙,那将是很大的帮助!默认情况下,批大小等于32很可能不是6张图像,而是6张图像。那么它应该拍摄32张图像,并且只拍摄6张图像为什么?6是历元数。186/32=6您在评论中的解释应该有助于“丰富的质量答案”标记。现在它是机器人的1/r.q.a。
'''
print(train_images.shape)
print(type(train_images))
print(valid_images.shape)
print(type(valid_images))
print(train_targets.shape)
print(valid_targets.shape)
print(type(train_targets))
print(type(valid_targets))
'''
output is
(186, 20, 20, 3)
<class 'numpy.ndarray'>
(174, 20, 20, 3)
<class 'numpy.ndarray'>
(186, 33)
(174, 33)
<class 'numpy.ndarray'>
<class 'numpy.ndarray'>
'''
model
model=tf.keras.Sequential()
model.add(tf.keras.layers.Conv2D(20,(3,3),activation='relu',input_shape=(20,20,3)))
model.add(tf.keras.layers.MaxPooling2D(2,2))
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(100,activation='relu'))
model.add(tf.keras.layers.Dense(33,activation='softmax'))
model.compile(loss='categorical_crossentropy',metrics=['accuracy'],optimizer='adam')
model.summary()
'''
Model: "sequential_3"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_3 (Conv2D) (None, 18, 18, 20) 560
_________________________________________________________________
max_pooling2d_3 (MaxPooling2 (None, 9, 9, 20) 0
_________________________________________________________________
flatten_3 (Flatten) (None, 1620) 0
_________________________________________________________________
dense_4 (Dense) (None, 100) 162100
_________________________________________________________________
dense_5 (Dense) (None, 33) 3333
=================================================================
Total params: 165,993
Trainable params: 165,993
Non-trainable params: 0
___________________________
'''
hist=model.fit(train_images,train_targets,epochs=100,validation_data=(valid_images,valid_targets))
'''
Epoch 1/100
6/6 [==============================] - 0s 10ms/step - loss: 2.7642 - accuracy: 0.4355 - val_loss: 3.1673 - val_accuracy: 0.1839