tensorflow輸出權(quán)重值和偏差的方法
使用tensorflow 訓(xùn)練模型時,我們可以使用 tensorflow自帶的 Save模塊 tf.train.Saver()來保存模型,使用方式很簡單 就是在訓(xùn)練完模型后,調(diào)用saver.save()即可
saver = tf.train.Saver(write_version=tf.train.SaverDef.V2) saver.save(sess, save_dir+"crfmodel.ckpt", global_step=0)
重新載入模型
saver = tf.train.Saver() ckpt = tf.train.get_checkpoint_state(FLAGS.restore_model) saver.restore(sess, ckpt.model_checkpoint_path)
但是這種方式保存的模型中包含特別多的信息,使保存的模型很大,其實里面有很多不是我們想要的.我們就想要里面最重要的權(quán)重信息和偏差等等數(shù)據(jù),然后再自己寫解密代碼,就可以把模型應(yīng)用于其他的平臺,比如安卓手機(jī).
那么我們可以使用下面的方式獲取訓(xùn)練后的權(quán)重和偏移,
ww, bb = sess.run([self.W,self.b])
其中W,和b都是 Tensor類型的數(shù)據(jù)
with tf.name_scope('weights'):
self.W = tf.get_variable(
shape=[self.feat_size, self.nb_classes],
initializer=tf.truncated_normal_initializer(stddev=0.01),
name='weights'
# ,regularizer=tf.contrib.layers.l1_regularizer(0.1)
)
with tf.name_scope('biases'):
self.b = tf.get_variable(
shape=[self.nb_classes],
initializer=tf.truncated_normal_initializer(stddev=0.01),
name='bias'
)
tensorflow 輸出權(quán)重 到csv或txt
import numpy as np
W_val, b_val = sess.run([weights_tensor, biases_tensor])
np.savetxt("W.csv", W_val, delimiter=",")
np.savetxt("b.csv", b_val, delimiter=",")
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
linux下python使用sendmail發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了linux下python使用sendmail發(fā)送郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05

