6

Theano から SharedVariable の次元を取得する方法を知りたいです。

これは例えば動作しません:

from theano import *
from numpy import *

import numpy as np

w = shared( np.asarray(zeros((1000,1000)), np.float32) )

print np.asarray(w).shape
print np.asmatrix(w).shape

そして返すだけ

()
(1, 1)

また、行列またはベクトルの値を印刷/取得することにも興味があります..

4

1 に答える 1

14

次のように共有変数の値を取得できます。

w.get_value()

次に、これは機能します:

w.get_value().shape

しかし、これは共有変数の内容をコピーします。コピーを削除するには、次のように借用パラメーターを使用できます。

w.get_value(borrow=True).shape

ただし、共有変数が GPU 上にある場合でも、データは GPU から CPU にコピーされます。これを行わない場合:

w.get_value(borrow=True, return_internal_type=True).shape

彼らはこれを行うためのより簡単な方法で、形状を返す Theano 関数をコンパイルします:

w.shape.eval()

w.shapeシンボリック変数を返します。.eval() は Theano 関数をコンパイルし、shape の値を返します。

Theano がメモリを処理する方法について詳しく知りたい場合は、次の Web ページを確認してください: http://www.deeplearning.net/software/theano/tutorial/aliasing.html

于 2014-03-24T14:33:38.670 に答える