Да, есть много разных типов моделей, и у них всех есть веские причины. Я не собираюсь утверждать, что у меня есть полная ясность каждого, но вот что я знаю (я думаю, что знаю).
- Файл
.pb
: PB обозначает protobuff или Protocol Buffer. Это структура модели, обычно без обученных весов и хранится в двоичном формате.
- Файл
.pbtxt
: недвоичный файл pb
для чтения человеком.
- Файлы Protobuff, которые не были заморожены, также нуждаются в файле контрольной точки
.ckpt
. Файл контрольной точки - это отсутствующий набор весов, который необходим pb
.
- Файл
.h5
: модель + веса из Keras save
- Файл
.tflite
будет моделью TensorflowLite
- Замороженная модель : замороженная модель объединяет
pb
с файлом весов, поэтому вам не нужно управлять двумя из них. Обычно это означает добавление слова frozen
к имени файла. Я уверен, что это может быть выведено при загрузке файла, но на диске они немного больше в системе чести и нет файла ckpt
. Это удаляет постороннюю графическую информацию; это в основном похоже на версию модели "Ready Ready".
- Session Bundle: каталог. Они используются дольше и редко.
- Модуль Tensorflow Hub: это уже существующие популярные модели, которые, скорее всего, уже экспортированы в TFJS и не требуют их преобразования вручную. Я предполагаю, что они поддерживаются в интересах Google, в большей степени, чем у нас. Но приятно знать, что если вы используете хаб, вы всегда можете конвертировать его.
Мультиэкспортированная группа файлов выглядит следующим образом. Отсюда вы можете увидеть довольно много, что вы могли бы превратить в TFJS.