ここから本文です

pythonです。 以下のサイトのアルゴリズムについて質問があります。

kom********さん

2020/1/913:01:28

pythonです。

以下のサイトのアルゴリズムについて質問があります。

https://github.com/oreilly-japan/deep-learning-from-scratch/blob/ma...


1つ目は、
26行目の__init__関数についてです。
これはclassを呼び出した際に処理される関数だと思いますが、関数の変数に予め値が入力されています。この値は、クラスを呼び出した際に変数値を別の値に設定しなければ、予め入力されていた値が使われるという認識でよろしいでしょうか。

2つ目は、
このような関数の変数に入れられた値を出力するにはどうすれば良いのでしょうか。

教えてください。
説明が下手ですみません。
よろしくお願いいたします。

閲覧数:
21
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

bas********さん

2020/1/1315:33:31

一つ目。
まず、
>> classを呼び出した際に処理される関数

とありますが、これはコンストラクタと言います。また「クラス呼び出し」ではなくて、「インスタンス化」するときに起動する特殊なメソッドです。

ほかの言語であれば new を使って生成するときに起動するものです。

そして、質問でのリンク先にあるコンストラクタでは「デフォルト引数」(言語によっては呼び方が変わるかもしれない...) というものです。

指定されない場合はデフォルト引数として提示してある値がセットされます。

例えばリンク先では

def __init__(self, input_dim=(1, 28, 28),
conv_param={'filter_num':30, 'filter_size':5, 'pad':0, 'stride':1},
hidden_size=100, output_size=10, weight_init_std=0.01)

とありますが、hidden_sizeが指定されなかったら 100 が設定されます。output_size も同様に 10 がセットされます。

また、こういう変数っていうか、メソッドに渡すやつとしてのもの ( hidden_size とか ) を「引数」と言います。

二つ目。

>> このような関数の変数に入れられた値を出力するには

このコードをいじらずに...ですよね。それなら"無い"です。

フィールドとして保持しているデータならいわゆるget/setっていうやつやC#とかだとプロパティって呼ばれるようなもので取得できたりしますが、引数として渡されたデータを外部から参照するのは不可能です。
(もちろんコードをいじれば可能だけど...)

入門書(入門サイトでもいい)の「クラス」「関数」「引数」「デフォルト引数」「コンストラクタ」等の項目をチェックしてください。

  • 質問者

    kom********さん

    2020/1/1315:53:29

    回答ありがとうございます。

    2つ目で、コードを書き換えれば可能とのことでしたが、どのように書き換えれば可能なのか教えていただくことはできますでしょうか。

  • その他の返信(4件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる