簡體   English   中英

在張量流中將張量的形狀作為數組

[英]get shape of tensor as array in tensorflow

我有一個保存的模型,我希望從該模型中將最終權重應用於最終圖層。 我已經加載了圖形並知道張量在哪里,但是我無法獲得張量的形狀作為數組。 我知道數組的形狀為2048x6。 我如何獲得這樣的實際值
[[1,2,3],[1,2,3] ...]。 謝謝

這是我的代碼

import tensorflow as tf

saver = tf.train.import_meta_graph('_retrain_checkpoint.meta')
graph = tf.get_default_graph()

tensor = tf.get_default_graph().get_tensor_by_name("final_retrain_ops/weights/final_weights:0")

print(tensor)
print(tf.TensorShape(tensor.get_shape()).as_list()




>>>Tensor("final_retrain_ops/weights/final_weights:0", shape=(2048, 6), dtype=float32_ref)
>>>(2048, 6)

要打印重量張量的值,可以執行以下操作:

with tf.Session() as sess:
    print( sess.run( tensor ) )

sess.run() 計算其參數中的張量,這僅表示它將打印值。

但是,您的代碼僅加載圖的結構( tf.train.import_meta_graph('_retrain_checkpoint.meta') ),而不是預訓練的值,這是一個問題。 因此,您會收到錯誤消息,您嘗試使用未初始化的值。

您需要具有以下內容:

saver.restore(sess,tf.train.latest_checkpoint('./'))

要在sess定義之后立即加載它,當然,您需要指向正確的檢查點目錄而不是./

所以像這樣:

with tf.Session() as sess:
    saver.restore(sess,tf.train.latest_checkpoint('./'))
    print( sess.run( tensor ) )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM