2017-11-18 1 views
-1

Ich versuche, einen Teil von JcJohnson/Karpathy Code für RNN in Lua und Torch geschrieben zu verstehen. Sie können das komplette Projekt bei Github hier finden, wenn Sie neugierig sind.Lua Code Erklärung (in Bezug auf RNNs)

https://github.com/jcjohnson/torch-rnn

Der Teil I mit ist die Hilfe benötigen, unter dem von der LanguageModel.lua Datei ist:

if #start_text > 0 then 
    if verbose > 0 then 
     print('Seeding with: "' .. start_text .. '"') 
    end 
    local x = self:encode_string(start_text):view(1, -1) 
    local T0 = x:size(2) 
    sampled[{{}, {1, T0}}]:copy(x) 
    scores = self:forward(x)[{{}, {T0, T0}}] 
    first_t = T0 + 1 
else 

Zum Beispiel weiß ich nicht, was diese bedeuten.

:view((1, -1) 
:size(2) 
:copy(x) 
sampled[] 

Wissen Sie, was diese bedeuten oder wo ich eine Referenz für sie finden kann?

danke

+0

lesen Sie die Sprache Spezifikationen für lua nehmen? – hjpotter92

Antwort

0

Sie einige Torch Tutorials selbst erste here oder überprüfen Sie die Dokumentation für Torch bei github repo

+0

Hi Chen, diese haben sehr geholfen, danke. Nur eine Zeile, die ich nicht herausfinden kann, ist folgende: scores = self: forward (x) [{{}, {T0, T0}}], irgendwelche Gedanken was die [] Klammern einschließen? Ich verstehe selbst: vorwärts (x), aber warum die zusätzlichen Gegenstände danach und was bedeuten sie? – Brajesh

+0

'self: forward (x)' gibt einen neuen Tensor zurück, Klammern [] indexiert den Operator, um Elemente im neuen Tensor auszuwählen. Sie können mehr Indexierungsoperator [hier] sehen (https://github.com/torch/torch7/blob/master/doc/tensor.md#tensor--dim1dim2--or--dim1sdim1e-dim2sdim2e-). – Chen

+0

Danke Chen! – Brajesh