采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师请问,如何能实现这样的目的呢?我找了很多资料但感觉不是太好解决,请问老师有什么建议吗
for cirs in range(circulation_num):#0,1,2,3 pruned_epoch = cirs + 1 with tf.Session() as sess: sess.run(tf.global_variables_initializer()) if cirs == 0: saver.restore(sess, os.path.join('./model/', 'AlexNet_model_epoch243.ckpt-0')) else: saver.restore(sess, os.path.join('./pruned'+str(cirs)+'/', 'AlexNet_model_epoch'+str(batch_size)+'.ckpt-0')) sess.run(global_step) #裁剪,测试结果,finetune,保存 tf.keras.backend.clear_session()
这里中间过程我省略了,但是处理是这样的流程。我现在想每次循环后清除session,避免tensor超过两个G;但是写的有点问题
在循环的开始调用keras的keras.models.load_model可以吗?
好奇你这个的使用场景,一般我们不会这么做。而是训练一定步数后保存一个checkpoint,这一点可以使用CheckpointCallback来实现。
我是想做个实验:读取一个预训练的模型,然后剪枝,然后再finetuen,保存当前新的模型然后再重复这个过程。如果我一直放进去会报错说tensor超过2G,不能报错模型。老师我不知道如何解决,老师有什么建议和方案吗
登录后可查看更多问答,登录/注册
Tensorflow2.0实战—以实战促理论的方式学习深度学习
2.8k 1
1.3k 3
1.2k 19
1.3k 13
2.0k 7