2016-03-28 3 views
0

私はluaを初めて使っていて、ひどく簡単な質問の答えを見つけることができません。ルア/トーチでは、テンソルを出力せずにテクスチャを書く

Word2Vecスタイルの単語埋め込みに対応するいくつかのテンソルを印刷したいと思います。各行は単語で始まり、その後にテンソル要素が続きます。私は次のコードを持っている:

function Word2Vec:print_semantic_space() 
    if self.word_vecs_norm == nil then 
     self.word_vecs_norm = self:normalize(self.word_vecs.weight:double()) 
    end 
    for word,_ in pairs(self.vocab) do 
     vec=self.word_vecs_norm[self.word2index[word]] 
     vec:resize(vec:size(1),1) 
     vec=vec:t() 
     io.write(word," ",tostring(vec)) 
    end 
end 

をこれは、すべての罰金と良いですが、私はあまりにもプリントアウトしテンソルの種類とサイズを取得しておいてください。

usually -0.2063 0.5654 0.1447 0.2765 -0.3903 0.2646 0.2254 0.5064 -0.1009 -0.0260 
[torch.DoubleTensor of size 1x10] 
go -0.5896 0.1330 0.1361 -0.0193 -0.5612 0.3529 0.3683 0.0141 0.0447 -0.1963 
[torch.DoubleTensor of size 1x10] 

私はタイプを返さないのLUAを伝えることができますどのように?このように:

usually -0.2063 0.5654 0.1447 0.2765 -0.3903 0.2646 0.2254 0.5064 -0.1009 -0.0260 
go -0.5896 0.1330 0.1361 -0.0193 -0.5612 0.3529 0.3683 0.0141 0.0447 -0.1963 

申し訳ありませんが答えがそこにあり、私は適切なキーワードを検索していません。私はまだルアのコンセプトの新しさです。

答えて

0

は独自のダンプ機能、例えば:

local dump = function(vec) 
    vec = vec:view(vec:nElement()) 
    local t = {} 
    for i=1,vec:nElement() do 
     t[#t+1] = string.format('%.4f', vec[i]) 
    end 
    return table.concat(t, ' ') 
end 

を書いて、tostringの代わりに使用することができます。

+0

偉大な、それは夢のように働いた!申し訳ありません+ 1-ingしないので、SOはまだ私をさせません... – linguist

関連する問題