Как совместить 2 разные модели и вызвать их сразу в Python 3? - PullRequest
0 голосов
/ 14 мая 2018

Я создал 2 разные модели, используя tensorflow и keras для классификации изображений.Теперь я хочу объединить обе модели и использовать обе модели одновременно.

Я пытаюсь отправить 1 видео на каждую модель и преобразовать их в кадры на 30 FPS.Затем я хочу проверить, скажем, кадр x из 1-й модели и кадр x1 во 2-й модели, а затем сохранить простое выражение if else, например

if(frame x ==true && frame x1 == true)
   print y
else
   print z

Итак, здесь я получаю кадры и всеинформация мне нужнаНо мой единственный вопрос - как мне объединить две модели?Я хочу объединить их, потому что я хочу, чтобы frame x и frame x1 оба имели значение t секунд, таким образом помогая мне узнать оба изображения одновременно.

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Предполагая, что обе модели находятся в Keras, вы можете просто загрузить их обе в начале вашей программы с помощью чего-то вроде

model = load_model('my_model.h5')

взято из FAQ по Keras «Как сохранить модель Keras?» .

Итак, вы делаете

model1 = load_model( 'my_model1.h5' )
model2 = load_model( 'my_model2.h5' )

и тогда вы можете позвонить predict на них отдельно и использовать результаты.

0 голосов
/ 14 мая 2018

это хорошо объяснено здесь . короче говоря, вам нужно определить функцию для инициализации каждой модели в своей уникальной области переменных, которую вы используете как для предварительной подготовки, так и для тестирования

что-то вроде

def create_model(session, FLAGS, forward_only, name):
  with tf.variable_scope(name):
      model = seq2seq_model.Seq2SeqModel(
      FLAGS.en_vocab_size, FLAGS.fr_vocab_size, _buckets,
      FLAGS.size, FLAGS.num_layers, FLAGS.max_gradient_norm, FLAGS.batch_size, 
      FLAGS.learning_rate, FLAGS.learning_rate_decay_factor, forward_only=forward_only)
      ckpt = tf.train.get_checkpoint_state(FLAGS.train_dir)
      if ckpt and tf.gfile.Exists(ckpt.model_checkpoint_path):
        print("Reading model parameters from %s" % ckpt.model_checkpoint_path)
        model.saver.restore(session, ckpt.model_checkpoint_path)
      else:
        print("Created model with fresh parameters.")
        session.run(tf.initialize_all_variables())
return model
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...