#79 【参考】インスタンス
Keras3の公式APIドキュメントには、Input関数について、次のように記載されています。 (Google翻訳で和訳しました) https://keras.io/api/layers/core_layers/input/ "Kerasテンソルをインスタンス化するために使用されます。 Kerasテンソルは、テンソルに似たシンボリックなオブジェクトです。これには特定の属性が追加されており、モデルの入出力さえ分かればKerasモデルを構築できるようになっています。 例えば、a、b、cがKerasテンソルである場合、『model = Model(input=[a, b], output=c)』といった記述が可能になります。" Pythonはオブジェクト指向言語ですが、オブジェクト指向を理解する上で重要な『インスタンス』について理解を深めていきましょう。 Pythonでは、文字列や数値等のデータ、機械学習の際のデータの一つ一つに、重複しないID(識別番号)がつけられています。 IDをつけて管理されるデータの一つ一つを インスタンス と言います。 インスタンスが持つ 値 を出力するためには print関数 を使ってきましたが、インスタンスの ID を出力するためには、 id関数 を使用します。具体的にコードを書いて、違いを見てみましょう。 数値一つ一つがインスタンスであって、変数はインスタンスの所在地情報を持っているに過ぎないことがわかると思います。 今度は、リストの例を見てみましょう。 値が等しいかどうかを見るためには『 == 』、インスタンスのIDが等しいかどうかを見るためには『 is演算子 』が使われます。p、q、rのリストの値とIDを見てみましょう。 ④を見ると、pとqの値も、IDも異なっています。 一方、⑤では、pとrの値は同じですが、IDは異なっています。 変数の値が同じことを『 同値 』であると言い、IDが同じことを『 同一 』であると言います。 このように、Pythonでは、数値一つ一つがインスタンスであって、変数はインスタンスの所在地情報を持っているに過ぎないことを理解しておきましょう。 詳しく知りたい方は、下記の書籍をお勧めします。 【参考書籍】 Python ゼロからはじめるプログラミング さて、前述の『Kerasテンソルをインスタ...