include_top=False, input_shape=(ROWS, COLS, CHANNELS)) Xception_model = keras.applications.Xception(weights='imagenet', include_top=False, input_shape=(ROWS, COLS, CHANNELS)) InceptionV3_layers = InceptionV3_model(Inp) InceptionV3_layers = keras.layers.GlobalAveragePooling2D()(InceptionV3_layers) Xception_layers = Xception_model(Inp) Xception_layers = keras.layers.GlobalAveragePooling2D()(Xception_layers) x = keras.layers.Concatenate()([InceptionV3_layers, Xception_layers]) output = keras.layers.Dense(2, activation='softmax')(x) model = keras.Model(inputs=Inp, outputs=output) for layer in InceptionV3_model.layers: layer.trainable = False for layer in Xception_model.layers: layer.trainable = False keras.utils.plot_model(model, show_shapes=True, show_layer_names=True, to_file='MultiNetV1_model.pdf') train_datagen = keras.preprocessing.image.ImageDataGenerator( rotation_range=40, # 随机旋转度数 width_shift_range=0.2, # 随机水平平移 height_shift_range=0.2, # 随机竖直平移 rescale=1 / 255, # 数据归一化
FlattenLayer = keras.layers.Flatten() # path = FlattenLayer(inputt) for i in range(0,5): LayerDense1 = keras.layers.Dense(10, activation=None, use_bias=True, kernel_initializer='glorot_uniform') path = LayerDense1(path) LayerPReLU1 = keras.layers.PReLU(alpha_initializer='zeros', shared_axes=None) path = LayerPReLU1(path) # LayerDenseN = keras.layers.Dense(1,activation=None, use_bias=True, kernel_initializer='glorot_uniform') output = LayerDenseN(path) ##--------------------------------- ## Creation of TensorFlow Model ##--------------------------------- covidModel = keras.Model(inputt, output, name='covidEstimatior') # covidModel.summary() # Display summary # ##Włączenia procesu uczenia # rmsOptimizer = keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False) # covidModel.compile(optimizer=rmsOptimizer,loss=keras.losses.mean_absolute_error) #covidModel.compile(optimizer=rmsOptimizer,loss=keras.losses.binary_crossentropy,metrics=['accuracy']) # covidModel.fit(BazaVec, BazaAns, epochs=125, batch_size=10, shuffle=True) covidModel.save('covid.h5') ##Przetestować / użyć sieci
def __init__(self, w, h, to_win, num_playouts=100, C=.4, model_save=None): self.game_w = w self.game_h = h self.game_tw = to_win if model_save: print("loading model") #self.model = tf.saved_model.load(model_save) self.model = keras.models.load_model(model_save) else: inpt = keras.Input(shape=(w, h, 4)) # first convolution # 5x5 convolution filter with zero-padded board conv = keras.layers.Conv2D(32, 5, data_format="channels_last", padding="same") bn = keras.layers.BatchNormalization() relu = keras.layers.ReLU() x = relu(bn(conv(inpt))) # residual layers for _ in range(1): res = x conv = keras.layers.Conv2D(32, 3, data_format="channels_last", padding="same") bn = keras.layers.BatchNormalization() relu = keras.layers.ReLU() x = relu(bn(conv(x))) conv = keras.layers.Conv2D(32, 3, data_format="channels_last", padding="same") bn = keras.layers.BatchNormalization() x = bn(conv(x)) x = keras.layers.Add()([x, res]) relu = keras.layers.ReLU() x = relu(x) # main neural network body self.body = keras.Model(inputs=inpt, outputs=x) # value head conv = keras.layers.Conv2D(1, 1, data_format="channels_last") bn = keras.layers.BatchNormalization() relu = keras.layers.ReLU() v = relu(bn(conv(x))) flat = keras.layers.Flatten() dens = keras.layers.Dense(128) relu = keras.layers.ReLU() v = relu(dens(flat(v))) dens = keras.layers.Dense(1, activation=keras.activations.tanh) v = dens(v) # policy head conv = keras.layers.Conv2D(2, 1, data_format="channels_last") bn = keras.layers.BatchNormalization() relu = keras.layers.ReLU() p = relu(bn(conv(x))) flat = keras.layers.Flatten() dens = keras.layers.Dense(w * h) p = dens(flat(p)) self.model = keras.Model(inputs=inpt, outputs=[v, p], name="value network") self.model.compile(optimizer=keras.optimizers.SGD(lr=0.01, decay=1e-6), loss="mean_squared_error") self.optimizer = keras.optimizers.SGD(.05) self.num_playouts = num_playouts self.C = C
FlattenLayer = keras.layers.Flatten() path = FlattenLayer(input) for i in range(0,6): LayerDense1 = keras.layers.Dense(50, activation=None, use_bias=True, kernel_initializer='glorot_uniform') path = LayerDense1(path) LayerPReLU1 = keras.layers.PReLU(alpha_initializer='zeros', shared_axes=None) path = LayerPReLU1(path) LayerDenseN = keras.layers.Dense(1, activation=keras.activations.sigmoid, use_bias=True, kernel_initializer='glorot_uniform') output = LayerDenseN(path) #--------------------------------- # Creation of TensorFlow Model #--------------------------------- genderModel = keras.Model(input, output, name='genderEstimatior') genderModel.summary() # Display summary #Włączenia procesu uczenia rmsOptimizer = keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False) genderModel.compile(optimizer=rmsOptimizer,loss=keras.losses.binary_crossentropy,metrics=['accuracy']) genderModel.fit(BazaImg, BazaAns, epochs=100, batch_size=10, shuffle=True) genderModel.save('siec.h5')
path = FlattenLayer(input) for i in range(0,6): LayerDense1 = keras.layers.Dense(20, activation=None, use_bias=True, kernel_initializer='glorot_uniform') path = LayerDense1(path) LayerPReLU1 = keras.layers.PReLU(alpha_initializer='zeros', shared_axes=None) path = LayerPReLU1(path) LayerDenseN = keras.layers.Dense(1, activation=None, use_bias=True, kernel_initializer='glorot_uniform') output = LayerDenseN(path) #--------------------------------- # Creation of TensorFlow Model #--------------------------------- new_casesModel = keras.Model(input, output, name='COVID_Estimatior') new_casesModel.summary() # Display summary #Włączenia procesu uczenia rmsOptimizer = keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False) new_casesModel.compile(optimizer=rmsOptimizer,loss=keras.losses.mean_absolute_error) new_casesModel.fit(Baza, BazaAns, epochs=150, batch_size=10, shuffle=True) new_casesModel.save('virus.h5') #Przetestować / użyć sieci covid = new_casesModel.predict(BazaPred) print((covid[0]+1)*MaxAns)