Bonjour,
Je tente d'utiliser les architectures ResNet, DenseNet et EfficientNet en transfert learning et malgré l'installation des modules à l'aide de JetBrains PyCharm et l'import des librairies suivantes :
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 from keras.models import Model from keras.layers import Dense, GlobalAveragePooling2D from keras.preprocessing.image import ImageDataGenerator from keras.optimizers import SGD, RMSprop from keras.callbacks import ModelCheckpoint from keras.callbacks import History from keras import applications import keras_applications #Transfer Learning Networks Models # 1 - VGG16 from keras.applications.vgg16 import VGG16 from keras.applications.vgg16 import preprocess_input # 2 - Inception V3 from keras.applications.inception_v3 import InceptionV3 from keras.applications.inception_v3 import preprocess_input # 3 - MobileNet from keras.applications import MobileNet from keras.applications.mobilenet import preprocess_input # 4 - ResNet family from keras_applications.resnet import ResNet50 from keras_applications.resnet import ResNet101 from keras_applications.resnet import ResNet152 from keras_applications.resnet import ResNet50V2 from keras_applications.resnet import ResNet101V2 from keras_applications.resnet import ResNet152V2 from keras_applications.resnet import ResNeXt50 from keras_applications.resnet import ResNeXt101 from keras.applications.resnet.ResNet50 import ResNet50 from keras.applications.resnet.ResNet101 import ResNet101 from keras.applications.resnet.ResNet152 import ResNet152 from keras.applications.resnet_v2.ResNet50V2 import ResNet50V2 # 5 - DensNet family import densenet from keras.applications.densenet.DenseNet121 import DenseNet121 from keras.applications.densenet.DenseNet169 import DenseNet169 from keras.applications.densenet.DenseNet201 import DenseNet201 from keras_applications.densenet.DenseNet121 import DenseNet121 from keras_applications.densenet.DenseNet169 import DenseNet169 from keras_applications.densenet.DenseNet201 import DenseNet201 # 6 - EfficientNet Alone import efficientnet.keras as efn # 6 - EfficientNet family from efficientnet import EfficientNetB0 from efficientnet import EfficientNetB1 from efficientnet import EfficientNetB2 from efficientnet import EfficientNetB3 from efficientnet import EfficientNetB4 from efficientnet import EfficientNetB5 from efficientnet import EfficientNetB6 from efficientnet import EfficientNetB7
et l'appel aux modèles d'architectures suivants :
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 # Downloading of pretrained model and weight if model_tl_name == 'VGG16': print("base_model = VGG16") base_model = VGG16(include_top=False, weights='imagenet') elif model_tl_name == 'InceptionV3': print("base_model = InceptionV3") base_model = InceptionV3(weights='imagenet', include_top=False) # include_top=False => excludes final FC layer) # Without Dropout elif model_tl_name == 'MobileNet': print("base_model = MobileNet") base_model = MobileNet(input_shape=(224, 224, 3), dropout=1e-3,weights='imagenet', classes=nb_classes, include_top=False) # With Dropout elif model_tl_name == 'MobileNet_withDropout': print("base_model = MobileNet With Dropout") base_model = MobileNet(input_shape=(224, 224, 3), alpha=1.0, depth_multiplier=1, dropout=1e-3, include_top=False, weights='imagenet', input_tensor=None, pooling=None) """input_shape=(img_size, img_size, 3), alpha=1., """ elif model_tl_name == 'DenseNet169': print("base_model = DenseNet169") base_model = densenet.DenseNetImageNet169(include_top=True, input_shape=(224, 224, 3), input_tensor=None, pooling=None, classes=1000) #base_model = DenseNet169(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000) elif model_tl_name == 'ResNet101': print("base_model = ResNet101") base_model = ResNet101(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000) elif model_tl_name == 'ResNet101V2': print("base_model = ResNet152V2") base_model = ResNet152V2(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000) elif model_tl_name == 'EfficientNetB5': print("base_model = EfficientNetB5") #base_model = EfficientNetB5(include_top=False, weights='imagenet') base_model = efn.EfficientNetB5(include_top=False, weights='imagenet') # model = EfficientNetB3(weights='imagenet', include_top=False, input_shape=(img_size, img_size, 3)) # Changing last layer to adapt to two classes model = add_new_last_layer(base_model, nb_classes)
J'obtiens toujours les mêmes messages d'erreurs :
1°) model_tl_name = 'DenseNet169' :
Process finished with exit code 1Traceback (most recent call last):
File "C:/Data/exp42cpi_a/PACKAGE_PORTABLE/exp42cpi_a2bis2essaiOptClusterFullPlot_pocu_arteryLCARCAEqMobileNetDropout.py", line 166, in <module>
from keras_applications.resnet import ResNet50V2
ImportError: cannot import name 'ResNet50V2' from 'keras_applications.resnet' (C:\Users\QTR7701\AppData\Local\Programs\Python\Python37\lib\site-packages\keras_applications\resnet
2°) model_tl_name = 'ResNet101' :
Process finished with exit code 1Traceback (most recent call last):
File "C:/Data/exp42cpi_a/PACKAGE_PORTABLE/exp42cpi_a2bis2essaiOptClusterFullPlot_pocu_arteryLCARCAEqMobileNetDropout.py", line 166, in <module>
from keras_applications.resnet import ResNet50V2
ImportError: cannot import name 'ResNet50V2' from 'keras_applications.resnet' (C:\Users\QTR7701\AppData\Local\Programs\Python\Python37\lib\site-packages\keras_applications\resnet.py)
3°) model_tl_name = 'EfficientNetB5' :
Alors que pour VGG16, InceptionV3 et Mobile Net je n'ai aucun problème.Traceback (most recent call last):
File "C:/Data/exp42cpi_a/PACKAGE_PORTABLE/exp42cpi_a2bis2essaiOptClusterFullPlot_pocu_arteryLCARCAEqMobileNetDropout.py", line 166, in <module>
from keras_applications.resnet import ResNet50V2
ImportError: cannot import name 'ResNet50V2' from 'keras_applications.resnet' (C:\Users\QTR7701\AppData\Local\Programs\Python\Python37\lib\site-packages\keras_applications\resnet.py)
Process finished with exit code 1
Quelqu'un pourrait-il m'aider ?
Partager