回答編集履歴

3

文法の修正

2018/01/05 10:37

投稿

yosider
yosider

スコア32

test CHANGED
@@ -2,9 +2,7 @@
2
2
 
3
3
  ---
4
4
 
5
- randn(*sizes)という定義では,randnが可変長引数を取れるようにはなるものの,
5
+ randn(*sizes)という定義では,randnが可変長引数を取れるようにはなるものの,それは
6
-
7
- それは
8
6
 
9
7
  randn(3)
10
8
 
@@ -12,7 +10,7 @@
12
10
 
13
11
  randn(3,2,4)
14
12
 
15
- など可能にするだけであり,
13
+ など可能にするだけであり,
16
14
 
17
15
  randn((3,2))
18
16
 

2

誤りの訂正,回答の補足

2018/01/05 10:37

投稿

yosider
yosider

スコア32

test CHANGED
@@ -1,3 +1,39 @@
1
+ ※追記
2
+
3
+ ---
4
+
5
+ randn(*sizes)という定義では,randnが可変長引数を取れるようにはなるものの,
6
+
7
+ それは
8
+
9
+ randn(3)
10
+
11
+ randn(3,2)
12
+
13
+ randn(3,2,4)
14
+
15
+ などが可能にするだけであり,
16
+
17
+ randn((3,2))
18
+
19
+ などはやはりエラーになるはずです.
20
+
21
+ 従って下の説明では不十分と思います.
22
+
23
+ 公式レポジトリの関連する[issue](https://github.com/pytorch/pytorch/issues/1616)に,long_args なるパラメータに関する言及があるので,それが関わっていそうです.
24
+
25
+ 残念ながら私はpytorchに明るくないので詳しいことはわかりかねます.
26
+
27
+ 申し訳ありません.
28
+
29
+ (追記終わり)
30
+
31
+
32
+
33
+ ---
34
+
35
+
36
+
1
37
  Pythonでは,数字をカッコで括ると,タプルという別のオブジェクトになります.
2
38
 
3
39
  従って,ふつう randn(1,2,3) と randn((1,2,3)) は両立しません.(一方はエラーになります.)

1

文章6行目を追加

2018/01/05 10:36

投稿

yosider
yosider

スコア32

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- このように定義れば randn(1,2,3) randn((1,2,3)) 両立させることがきます.
15
+ なわち,randnは可変長引数sizesオプション引数outをとりTensorを返す関数です.
16
16
 
17
17
  Pythonにおいて*は乗算のほかにunpack(分解)にも用いられます.
18
18
 
@@ -48,6 +48,8 @@
48
48
 
49
49
 
50
50
 
51
+ このように定義すれば randn(1,2,3) と randn((1,2,3)) を両立させることができます.
52
+
51
53
  pytorchを使ったことがないのでよくわかりませんが,意図としては
52
54
 
53
55
  どちらの引数でもエラーにならないため,ユーザーが好きなほうを使えるようにした,という感じでしょうか.