Я создал и обучил модель с помощью Keras API.Теперь мне нужно создать эффективную структуру для запуска логического вывода для большого количества входных выборок.Сложность в том, что не все эти образцы доступны с самого начала, но они выбираются во время вывода на основании результатов предыдущих образцов.
Я могу создать для этого базовый конвейер: один процесс выбирает сэмплы для помещения в очередь, а второй - для их извлечения и предварительной обработки.Затем эти образцы передаются в модель на графическом процессоре (которая инициализировалась только один раз в начале) с помощью Keras 'model.predict_on_batch(batch)
.
Однако это будет довольно медленно.Я предпочел бы иметь небольшую очередь на графическом процессоре , чтобы не было времени загрузки при передаче следующего пакета из ОЗУ в графический процессор.
Это представляется возможным с помощью API набора данных Tensorflow и prefetch_to_device
[ 1 ].Но также, похоже, не совсем понятно использовать API набора данных с моделью Keras для вывода:
- Вывод с
tf.data.Dataset
запрашивался несколько раз: [ 2 ], [ 3 ] но ответы на самом деле не являются пояснительными, кроме приведенных фрагментов кода.Также я не уверен, как использовать предложения для моей контрольной точки модели Keras .hdf5-файл. - Как асинхронно кормить набор данных без перестройки или перезагрузки графика каждый раз, когда первый процесс выбирает новые образцы?[ 4 ], [ 5 ]
Я не знаком с простым кодом тензорного потока без абстракций keras, поэтому я мог бы заметить что-то очевидное вссылки.Я был бы очень благодарен за подробные объяснения или ссылки на другие источники.