91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .py
    金幣: 1
    下載: 1 次
    發布日期: 2021-06-17
  • 語言: Python
  • 標簽: tensorflow??

資源簡介

VGG,V3,RESNET遷移學習,tensorflow和keras寫的程序

資源截圖

代碼片段和文件信息

#?-*-?coding:?utf-8?-*-??
import?os??
from?keras.utils?import?plot_model??
from?keras.applications.resnet50?import?ResNet50??
from?keras.applications.vgg19?import?VGG19??
from?keras.applications.inception_v3?import?InceptionV3??
from?keras.layers?import?DenseFlattenGlobalAveragePooling2D??
from?keras.models?import?Modelload_model??
from?keras.optimizers?import?SGD??
from?keras.preprocessing.image?import?ImageDataGenerator??
import?matplotlib.pyplot?as?plt??
??
class?PowerTransferMode:??
????#數據準備??
????def?DataGen(self?dir_path?img_row?img_col?batch_size?is_train):??
????????if?is_train:??
????????????datagen?=?ImageDataGenerator(rescale=1./255??#值將在執行其他處理前乘到整個圖像上,
??????????????????????????????????????????????????????????#?我們的圖像在RGB通道都是0~255的整數,
????????????????????????????????????????????????????#?這樣的操作可能使圖像的值過高或過低,所以我們將這個值定為0~1之間的數。
????????????????zoom_range=0.25????????#隨機縮放的幅度
????????????????rotation_range=15.??????#數據提升時圖片隨機轉動的角度
????????????????channel_shift_range=25.????#隨機通道偏移的幅度
????????????????width_shift_range=0.02?????#數據提升時圖片隨機水平偏移的幅度
????????????????height_shift_range=0.02????#數據提升時圖片隨機豎直偏移的幅度
????????????????horizontal_flip=True?????#水平旋轉
????????????????fill_mode=‘constant‘)??#當進行變換時超出邊界的點將根據本參數給定的方法進行處理
????????else:??
????????????datagen?=?ImageDataGenerator(rescale=1./255)??
??
????????generator?=?datagen.flow_from_directory(??
????????????dir_path?target_size=(img_row?img_col)??
????????????batch_size=batch_size??
????????????#class_mode=‘binary‘??
????????????shuffle=is_train)??
??
????????return?generator??
??
????#ResNet模型??
????def?ResNet50_model(self?lr=0.005?decay=1e-6?momentum=0.9?nb_classes=2?img_rows=197?img_cols=197?RGB=True?is_plot_model=False):??
????????color?=?3?if?RGB?else?1??
????????base_model?=?ResNet50(weights=‘imagenet‘?include_top=False?pooling=None?input_shape=(img_rows?img_cols?color)??
??????????????????????????????classes=nb_classes)??
??
????????#凍結base_model所有層,這樣就可以正確獲得bottleneck特征??
????????for?layer?in?base_model.layers:??
????????????layer.trainable?=?False??
??
????????x?=?base_model.output??
????????#添加自己的全鏈接分類層??
????????x?=?Flatten()(x)??
????????#x?=?GlobalAveragePooling2D()(x)??
????????#x?=?Dense(1024?activation=‘relu‘)(x)??
????????predictions?=?Dense(nb_classes?activation=‘softmax‘)(x)??
??
????????#訓練模型??
????????model?=?Model(inputs=base_model.input?outputs=predictions)??
????????sgd?=?SGD(lr=lr?decay=decay?momentum=momentum?nesterov=True)??
????????model.compile(loss=‘categorical_crossentropy‘?optimizer=sgd?metrics=[‘accuracy‘])??
??
????????#繪制模型??
????????if?is_plot_model:??
????????????plot_model(model?to_file=‘resnet50_model.png‘show_shapes=True)??
??
????????return?model??
??
??
????#VGG模型??
????def?VGG19_model(self?lr=0.005?decay=1e-6?momentum=0.9?nb_classes=2?img_rows=197?img_cols=197?RGB=True?is_plot_model=False):??
????????color?=?3?if?RGB?else?1??
????????base_model?=?VGG19(weights=‘imagenet‘?include_top=False?pooling=

評論

共有 條評論