2017-04-20 25 views
2

テンソルの流れをはっきりと理解するためには、テンソルがどのように定義されているかを明確に理解する必要があります。テンソルのテンソルの形状を計算する方法

これらはtensorflowドキュメントからいくつかの例です:

3 # a rank 0 tensor; this is a scalar with shape [] [1. ,2., 3.] # a rank 1 tensor; this is a vector with shape [3] [[1., 2., 3.], [4., 5., 6.]] # a rank 2 tensor; a matrix with shape [2, 3] [[[1., 2., 3.]], [[7., 8., 9.]]] # a rank 3 tensor with shape [2, 1, 3]

は私の理解を下回っているが、修正:テンソルの形を見つけるために

、我々は、最も外側から開始しますリスト内の要素(またはリスト)の数を数えます。このカウントは最初の次元になります。次に、内部リストに対してこの手順を繰り返し、テンソルの次の次元を見つけます。

私が間違っている場合は、私に修正してください。

答えて

1

はい、ご理解いただけます。あなたが正しいテンソルを持っていれば、あなたのアルゴリズムはテンソルの正しい次元を返します。あなたは、ARRの任意の値の場合には、あなたはまた、寸法の一致([[1, 2, 3], [4, 5]]が有効テンソルではない)ことを確認する必要があることを

def get_shape(arr): 
    res = [] 
    while isinstance((arr), list): 
     res.append(len(arr)) 
     arr = arr[0] 
    return res 

お知らせ

は、次のようにpythonでそれを書くことができます
関連する問題