トップサービス導入事例強み開発ブログよくある質問会社案内 お問い合わせ
Dev Blog

AI創薬 2時限目

有名な溶解度のデータセット(1,000件程度)を使った回帰分析のサンプルを動かしてみる。 溶解度(ようかいど、solubility)は「S」という記号で表される。

これはただの回帰分析なのでdeepchemを使う必要もないのであるが、GraphConvModelを使って試している。 予測値と実測値をプロットする。

■100エポックで学習(50秒程度)

100エポック学習時の予測値と実測値の散布図

■1,000エポックで学習(7分程度)

1000エポック学習時の予測値と実測値の散布図

いずれも正の相関になっているので、良い予測モデルにはなっていると思う。

ーーーー 作成したモデルは保存しておく。

■モデル保存 model = GraphConvModel(n_tasks=1, batch_size=64, uncertainty=False, mode=‘regression’, model_dir=”./model”) model.fit(train_dataset, nb_epoch=epoch_num)

→ modelディレクトリにチェックポイントファイルが生成される。fitの途中で自動保存される。

■モデルの読み込み model = GraphConvModel(n_tasks=1, batch_size=64, uncertainty=False, mode=‘regression’, model_dir=”./model”) model.restore()

→ modelディレクトリから最新のチェックポイントファイルを読み込む。

※deepchemはtensorflowベースなので、中身は普通にsaverでのsaveとrestore。