簡體   English   中英

如何將此張量轉換為 numpy 數組?

[英]How can I convert this tensor to a numpy array?

我想將 pagerank 算法應用於 x_attn 張量。 但是 nx.pagerank 模塊只接受 numpy 數組。 當我嘗試將其轉換為使用x_att.eval() 時,它說:

“tensorflow.python.framework.errors_impl.InvalidArgumentError:您必須為占位符張量‘main_input_5’提供一個值,其數據類型為浮點型和形狀 [?,6600]”。

有人可以幫我嗎?

def variable_attn_15jan():


    input_dim=input_dim_func()

    main_input = Input(shape=(input_dim,),name='main_input')

    inputs_w1=Lambda(lambda x: x[:,0:3300])(main_input)  
    inputs_w2=Lambda(lambda x: x[:,3300:6600])(main_input) 


    x1_attn= Dense(11, activation='softmax')(inputs_w1)
    x2_attn= Dense(11, activation='softmax')(inputs_w2)


    list_x_att1=[]
    list_x_att2=[]

    for i in range(11) :
        val_scalar=Lambda(lambda x: x[:,i:(i+1)])(x1_attn)
        list_x_att1.append(Lambda(lambda x: x[:,(i*300):(i+1)*300]*val_scalar)(inputs_w1))
    x_att1 = concatenate(list_x_att1)

    for i in range(11) :
        val_scalar=Lambda(lambda x: x[:,i:(i+1)])(x2_attn)
        list_x_att2.append(Lambda(lambda x: x[:,(i*300):(i+1)*300]*val_scalar)(inputs_w2))
    x_att2 = concatenate(list_x_att2)

    x_att = concatenate([x_att1,x_att2])


在你的張量 (v2.0) 上:

npa = tf.numpy()

其中 npa 將是您的 numpy 數組名稱。

或者,張量 (< v2.0):

npa=tf.eval()
print(type(npa))

更新 1:

使用以下代碼如何檢查您擁有的數組類型。 另請查看rkern於 2019 年 7 月 14 日在此處發表的評論。

type(tf)

type(np.array(tf))

暫無
暫無

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

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