HDF5形式のモデルの入手先として、「oarriaga/face_classification」ページを利用することにします。ページ上部の右端に[Clone or download]ボタンがあるので、これをクリックし、ZIPファイルをダウンロードします。
ZIPファイルを展開すると、face_classification-masterという名前のフォルダが現れます。この中のtrained_modelsフォルダにあるfer2013_mini_XCEPTION.119-0.65.hdf5ファイルを使用することにします。
HDF5ファイルをTensorFlow.jsモデルとして使用する手順は次の通りです。
- デスクトップ上に作業用のフォルダを作成し、HDF5ファイルをそこにコピーする。
- [Anacond Prompt (tfjs)]を起動し、作業用フォルダに移動する。
- HDF5ファイルをtensorflowjs converterにかける。
- modelフォルダをWebサーバーの適切なフォルダにコピーする。
具体的には、 [Anacond Prompt (tfjs)]コマンドラインで、cd を入力し、その後に半角スペースを入力して、その右に作業用フォルダをドロップし、Enterキーを押す。
fer2013_mini_XCEPTION.119-0.65.hdf5ファイルの例で言うと、
(tfjs) C:\Users\knaga\Desktop\work>tensorflowjs_converter --input_format=keras ^
More? fer2013_mini_XCEPTION.119-0.65.hdf5 ^
More? model
というコマンドになる。^文字はWindowsのコマンドプロンプトでは改行を示し、長いコマンドを複数行に分けたい場合に便利。Enterキーを押してコマンドを実行する。エラーがなければ、作業用フォルダにmodelフォルダが作成され、中にmodel.jsonとgroup1-shard1of1という名前のファイルが作成されている。
modelフォルダを、たとえばhttps://localhost/dev/8_converter/kerash5/にコピーする。すると、次のコードで、Keras由来のモデルを得ることができる。
const model = await tf.loadModel('https://localhost/dev/8_converter/kerash5/model/model.json');