[Tensorflow] 网络局部restore 以及 网络局部训练

本文介绍了在TensorFlow中如何实现网络局部参数的恢复以及如何进行局部训练。在给定的网络架构中,参数包括a1、a2、b1和b2,网络输出基于这些参数。首先讲解了通过设置var_list参数实现特定参数的保存和恢复。接着,讨论了两种方法来只训练网络的部分参数,如a1和b1,同时保持a2和b2不变,这在网络架构修改时特别有用。
摘要由CSDN通过智能技术生成

网络架构如下:

参数为a1,a2,b1,b2,

网络输出:y=a1*a2*x+b1+b2

目标函数:y=x

一、网络局部参数restore

应用场景:网络架构修改,但是部分参数需要重新利用;

设置方法:将var_list参数传给tf.train.Saver即可只save/restore var_list里的参数

如何使用:

(1)保存save:a1,a2,b1,b2分别为10,20,30,40

import tensorflow as tf
import random
#目标函数y=x
#也就是网络收敛时:a1*a2=1,b1+b2=0
x=tf.placeholder(tf.float32,[1])
with tf.variable_scope("AB1"):
  a1=tf.Variable(tf.constant([10],dtype=tf.float32),name="A1")  
  b1=tf.Variable(tf.constant([30],dtype=tf.float32),name="B1")
with tf.variable_scope("AB2"):
  a2=tf.Variable(tf.constant([20],dtype=tf.float32),name="A2")  
  b2=tf.Variable(tf.constant([40],dtype=tf.float32),name="B2")
y=a1*a2*x+b1+b2
#
_y=tf.placeholder(tf.float32,[1])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值