回答編集履歴
3
文法の修正
answer
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
※追記
|
2
2
|
---
|
3
|
-
randn(*sizes)という定義では,randnが可変長引数を取れるようにはなるものの,
|
3
|
+
randn(*sizes)という定義では,randnが可変長引数を取れるようにはなるものの,それは
|
4
|
-
それは
|
5
4
|
randn(3)
|
6
5
|
randn(3,2)
|
7
6
|
randn(3,2,4)
|
8
|
-
など
|
7
|
+
などを可能にするだけであり,
|
9
8
|
randn((3,2))
|
10
9
|
などはやはりエラーになるはずです.
|
11
10
|
従って下の説明では不十分と思います.
|
2
誤りの訂正,回答の補足
answer
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
※追記
|
2
|
+
---
|
3
|
+
randn(*sizes)という定義では,randnが可変長引数を取れるようにはなるものの,
|
4
|
+
それは
|
5
|
+
randn(3)
|
6
|
+
randn(3,2)
|
7
|
+
randn(3,2,4)
|
8
|
+
などが可能にするだけであり,
|
9
|
+
randn((3,2))
|
10
|
+
などはやはりエラーになるはずです.
|
11
|
+
従って下の説明では不十分と思います.
|
12
|
+
公式レポジトリの関連する[issue](https://github.com/pytorch/pytorch/issues/1616)に,long_args なるパラメータに関する言及があるので,それが関わっていそうです.
|
13
|
+
残念ながら私はpytorchに明るくないので詳しいことはわかりかねます.
|
14
|
+
申し訳ありません.
|
15
|
+
(追記終わり)
|
16
|
+
|
17
|
+
---
|
18
|
+
|
1
19
|
Pythonでは,数字をカッコで括ると,タプルという別のオブジェクトになります.
|
2
20
|
従って,ふつう randn(1,2,3) と randn((1,2,3)) は両立しません.(一方はエラーになります.)
|
3
21
|
|
1
文章6行目を追加
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
torch.randn(*sizes, out=None) → Tensor
|
6
6
|
とあります.
|
7
7
|
|
8
|
-
|
8
|
+
すなわち,randnは可変長引数sizesとオプション引数outをとりTensorを返す関数です.
|
9
9
|
Pythonにおいて*は乗算のほかにunpack(分解)にも用いられます.
|
10
10
|
```python3
|
11
11
|
>>> a, *b = 1,2,3,4,5
|
@@ -23,5 +23,6 @@
|
|
23
23
|
1 2 3
|
24
24
|
```
|
25
25
|
|
26
|
+
このように定義すれば randn(1,2,3) と randn((1,2,3)) を両立させることができます.
|
26
27
|
pytorchを使ったことがないのでよくわかりませんが,意図としては
|
27
28
|
どちらの引数でもエラーにならないため,ユーザーが好きなほうを使えるようにした,という感じでしょうか.
|