前言
keras(tensorflow-backend)可以看作是tensorflow的高级封装。因此在使用keras时,依然需要注意其背后的Graph于Session。在调用keras.layers.*时,keras会调用tensorflow在一个Graph上建图。通过keras.backend.set_session与keras.backend.get_session,可以设置和获取keras背后使用的sess。因此,keras可以完成转换为tensorflow,但tensorflow不能转换为keras。
本文将详细描述:
- 如何混合使用tensorflow与keras
- 迁移学习里的keras.backend.learning_phase()。
- 如何将网络结构用.txt保存与读取。
涉及到的API包括:
- keras.backend.get_session
- keras.backend.set_session
- keras.backend.set_learning_phase()
- keras.layers.batchnormalization.call()
- from keras.models import Model
- from keras.models import model_from_json
keras与tensorflow的混合使用
keras作为tensorflow的高级封装,从层的角度定义网络,可以非常方便的建立、保存、载入、修改网络模型与权重,但是灵活性就比较差。tensorflow作为GPU运算框架,则具备很强的灵活性,但从Variable定义网络过于复杂。于是,考虑ker