Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在CNN模型中找到一个单一的精度以供研究之用?_Python_Deep Learning_Cnn - Fatal编程技术网

Python 如何在CNN模型中找到一个单一的精度以供研究之用?

Python 如何在CNN模型中找到一个单一的精度以供研究之用?,python,deep-learning,cnn,Python,Deep Learning,Cnn,我已经用CNN模式完成了一个有20个时代的项目, 型号培训代码如下所示, model = tf.keras.models.Sequential([tf.keras.layers.Conv2D(16,(3,3), activation='relu', input_shape=(200, 200, 3)), tf.keras.layers.MaxPool2D(2,2),

我已经用CNN模式完成了一个有20个时代的项目, 型号培训代码如下所示,

model = tf.keras.models.Sequential([tf.keras.layers.Conv2D(16,(3,3), activation='relu', input_shape=(200, 200, 3)),
                                    tf.keras.layers.MaxPool2D(2,2),
                                    
                                    tf.keras.layers.Conv2D(32,(3,3), activation='relu'),
                                    tf.keras.layers.MaxPool2D(2,2),
                                   
                                    tf.keras.layers.Conv2D(64,(3,3), activation='relu'),
                                    tf.keras.layers.MaxPool2D(2,2),
                                    
                                    tf.keras.layers.Flatten(),
                                    
                                    tf.keras.layers.Dense(512, activation='relu'),
                                    
                                    tf.keras.layers.Dense(1, activation='sigmoid'),
])
model.compile(loss = 'binary_crossentropy', 
              optimizer = RMSprop(lr=0.001),
              metrics = ['accuracy'])
model_fit = model.fit(train_dataset,
                      steps_per_epoch=3,
                      epochs= 20,
                      validation_data = validation_dataset)
然后,编译模型,

model = tf.keras.models.Sequential([tf.keras.layers.Conv2D(16,(3,3), activation='relu', input_shape=(200, 200, 3)),
                                    tf.keras.layers.MaxPool2D(2,2),
                                    
                                    tf.keras.layers.Conv2D(32,(3,3), activation='relu'),
                                    tf.keras.layers.MaxPool2D(2,2),
                                   
                                    tf.keras.layers.Conv2D(64,(3,3), activation='relu'),
                                    tf.keras.layers.MaxPool2D(2,2),
                                    
                                    tf.keras.layers.Flatten(),
                                    
                                    tf.keras.layers.Dense(512, activation='relu'),
                                    
                                    tf.keras.layers.Dense(1, activation='sigmoid'),
])
model.compile(loss = 'binary_crossentropy', 
              optimizer = RMSprop(lr=0.001),
              metrics = ['accuracy'])
model_fit = model.fit(train_dataset,
                      steps_per_epoch=3,
                      epochs= 20,
                      validation_data = validation_dataset)
现在,让模型适合20个时代,

model = tf.keras.models.Sequential([tf.keras.layers.Conv2D(16,(3,3), activation='relu', input_shape=(200, 200, 3)),
                                    tf.keras.layers.MaxPool2D(2,2),
                                    
                                    tf.keras.layers.Conv2D(32,(3,3), activation='relu'),
                                    tf.keras.layers.MaxPool2D(2,2),
                                   
                                    tf.keras.layers.Conv2D(64,(3,3), activation='relu'),
                                    tf.keras.layers.MaxPool2D(2,2),
                                    
                                    tf.keras.layers.Flatten(),
                                    
                                    tf.keras.layers.Dense(512, activation='relu'),
                                    
                                    tf.keras.layers.Dense(1, activation='sigmoid'),
])
model.compile(loss = 'binary_crossentropy', 
              optimizer = RMSprop(lr=0.001),
              metrics = ['accuracy'])
model_fit = model.fit(train_dataset,
                      steps_per_epoch=3,
                      epochs= 20,
                      validation_data = validation_dataset)
训练模型后,显示精度和损失,如下所示,


注意:我找不到一个准确度,因此我无法将其写在研究论文中。因为我不能在纸上写得完全准确。我应该使用单一精度那么我应该如何找到单一精度,或者如何编写单一精度。请帮助知道它的人。

我在上面对您遇到的问题进行了评论,但是如果您确实只想要一个数字,您可以使用下面的代码来评估您的损失和准确性

#评估损失和准确性
损失,精度=模型。评估(testingDataset)
#打印精度
打印(“精度:+str(精度))
#打印损失
打印(“损失:+str(损失))

我想您指的是培训和验证准确性?正常精度是训练数据集的精度,而val_精度是验证数据集的精度。我通常使用val_精度,因为它可以更好地指示模型的执行情况。验证精度被认为是研究论文中用于基准测试的数字,如果这是您想要的。