tensorflow模型参数的赋值问题一直困扰很久,当我们不是从tensorflow 的saver恢复训练,而是其他框架的训练结果转化为numpy数组之后如何加载到tensorflow模型中呢?
最开始找到的不够灵活的初始化时更改的方式,但是不够灵活,今晚在剖析keras源码时终于找到了tensorflow给variable预留的底层api。
初始化时给定
这种是我最开始使用的,在创建变量时直接从目标数据h5f[‘model_weights’][‘convolution2d_1’][‘convolution2d_1_b:0’].value构建Variable,然后执行初始化OP即可。
|
|
assign修改
这种修改方式是新建一个placeholder,建立与placeholder关联的assign OP。
|
|
初始化后输出结果:
|
|
执行修改OP之后输出结果:
|
|