Я использую ml5.js, оболочку для tensorflowjs. Я хочу обучить нейронную сеть в браузере, загрузить веса, обработать их как тензоры в pyTorch и загрузить их обратно в модель tensorflowjs браузера. Как мне конвертировать между этими форматами tfjs <-> pytorch
?
В модели браузера есть функция save()
, которая генерирует три файла. Файл метаданных, относящийся к ml5.js (json), файл топологии, описывающий архитектуру модели (json), и файл двоичных весов (bin).
// Browser
model.save()
// HTTP/Download
model_meta.json (needed by ml5.js)
model.json (needed by tfjs)
model.weights.bin (needed by tfjs)
# python backend
import json
with open('model.weights.bin', 'rb') as weights_file:
with open('model.json', 'rb') as model_file:
weights = weights_file.read()
model = json.loads(model_file.read())
####
pytorch_tensor = convert2tensor(weights, model) # whats in this function?
####
# Do some processing in pytorch
####
new_weights_bin = convert2bin(pytorch_tensor, model) # and in this?
####
Вот пример кода javascript для создания и загрузки 3 файлов в браузере. Для загрузки выберите в диалоговом окне сразу все 3 файла. Если они верны, во всплывающем окне будет показан пример прогноза.