Ejemplo n.º 1
0
 def mutate(self):
     filtersMutator = FiltersRangeMutator(8, 128)
     config = self.__model.get_config()
     for layer in config['layers']:
         if random.uniform(0, 1) > 0.3 and layer['class_name'] == 'Conv2D':
             layer_config = layer['config']
             layer_config['filters'] = filtersMutator.mutate(
                 layer_config['filters'])
     mutated_model = Sequential.from_config(config)
     print("SequentialModelGene has been mutated")
     self.__model = mutated_model
     return SequentialModelGene(self.__seed,
                                mutated_model)  # TODO or return self
Ejemplo n.º 2
0
 def __init__(
     self,
     q_network,
     min_training_history_size,
     gamma,
     target_q_network_update_interval,
     callbacks=None,
 ):
     self.training_q_network = q_network
     self.target_q_network = Sequential.from_config(
         q_network.get_config(), custom_objects={"NoisyDense": NoisyDense})
     self.min_training_history_size = min_training_history_size
     self.gamma = gamma
     self.epsilon = 1.0
     self.target_q_network_update_interval = target_q_network_update_interval
     if callbacks is None:
         callbacks = []
     self.callback_group = AgentCallbackGroup(callback_group=callbacks)
    def test_config_deserialisation(self):
        # class MyClass:
        #     def __init__(self, foo, bar):
        #         self.foo = foo
        #         self.bar = bar
        #
        #     def __eq__(self, other):
        #         if not isinstance(other, MyClass):
        #             # don't attempt to compare against unrelated types
        #             return NotImplemented
        #
        #         return self.foo == other.foo and self.bar == other.bar
        #
        # self.assertEqual(MyClass('foo', 'bar'), MyClass('foo', 'bar'))

        seed = 1234

        tf.random.set_seed(seed)
        model = Sequential()
        model.add(
            Conv2D(filters=64,
                   kernel_size=(3, 3),
                   padding='Same',
                   activation='relu'))
        model.add(MaxPool2D(pool_size=(2, 2), strides=(2, 2)))
        model.add(Dropout(0.25, seed=seed))

        model.add(
            Dense(12,
                  input_dim=8,
                  activation='relu',
                  kernel_initializer='glorot_uniform',
                  seed=seed))
        model.add(Dense(8, activation='relu', seed=seed))
        model.add(Dense(1, activation='sigmoid', seed=seed))

        config = model.get_config()
        deserialized_model = Sequential.from_config(config)
        # self.assertEqual(model, deserialized_model)
        self.assertEqual(model.layers[0].input.shape,
                         deserialized_model.layers[0].input.shape)
Ejemplo n.º 4
0
def load_sequential_model_from_file(model_file_path):
    return Sequential.from_config(model_file_path)
Ejemplo n.º 5
0
from flask import Flask, jsonify
from keras import Sequential
import scrape
import myMongo
import pickle
import pandas

app = Flask(__name__)

with open('myModel.bin', 'rb') as file:
    config = pickle.load(file)

model = Sequential.from_config(config)


##Evaluate is used on newly scraped data
def evaluate(data):
    data = pandas.DataFrame(data, index=[6])
    data = data.values
    prediction, probability = model.predict_classes(data), model.predict(data)
    probability = float(probability[0][0]) * 100
    prediction = int(prediction[0][0])
    return prediction, probability


@app.route('/<string:name>')
def evaluateName(name):
    ##First query the db
    try:
        x = myMongo.queryUname(name)
    except: