質問: ### 前提・実現したいこと オライリー社出版の「ゼロから学ぶDeeLearning」を勉強しているのですが、サンプルコードの意味が分からなく、教えていただきたく質問しました。 質問内容はソースコードの##以降に書いています。 詳しく、丁寧に教えていただけると嬉しいです。 ### 発生している問題・エラーメッセージ ### 該当のソースコード import sys, os ##sys, osとはどのような意味でしょうか? sys.path.append(os.pardir) ##この一行の意味がわからないです。 import numpy as np from dataset.mnist import load_mnist from PIL import Image def img_show(img): pil_img=Image.fromarray(np.unit8(img)) ##この一行の意味が分からないです。 pil_img.show() (x_train, t_train), (x_test, t_test)=\ ##\はどのような意味でしょうか? load_mnist(flatten=True, normalize=False) img=x_train[0] ##train[0]はどのような意味ですか? label=t_train[0] ##train[0]はどのような意味ですか? print(label) print(img.shape) img=img.reshape(28,28) print(img.shape) img_show(img) ### 試したこと ### 補足情報(言語/FW/ツール等のバージョンなど) 私のスキルレベルは、かなりelementaryです。 この教科書で初めてPythonを使いました。 稚拙な質問ですみません。
回答: 正直なところ、現状の質問者さんの理解度であれば、まずはプログラミング言語Pythonの入門書(または入門サイト)を一通り読むべきです。 以下、ものすごく簡略化した解説です。 > > import sys, os ##sys, osとはどのような意味でしょうか? > > > `sys`や`os`はモジュール(module)と呼ばれる機能の塊の名前です。各モジュールに含まれるメソッドを利用するには`import`文が必要です。通常、`import`はスクリプト先頭に配置されます。 > > sys.path.append(os.pardir) ##この一行の意味がわからないです。 > > > システムパスのリスト`sys.path`に親ディレクトリ`os.pardir`を追加します。リファレンスマニュアルを参照下さい。 > > pil_img=Image.fromarray(np.unit8(img)) ##この一行の意味が分からないです。 > > > `PIL.Image`モジュールの`fromarray`メソッドを呼び出して、バイトデータ`img`から画像オブジェクトに変換しています。リファレンスマニュアルを参照下さい。 > > (x_train, t_train), (x_test, t_test)=\ ##\はどのような意味でしょうか? > > load_mnist(flatten=True, normalize=False) > > > 本来は1行で記述すべき処理をテキストファイル上では複数行に分けて記述するとき、末尾に`\`(バックスラッシュ)が必要になります。言語リファレンスの「明示的な行継続」に詳しい説明がありあます。 > > img=x_train[0] ##train[0]はどのような意味ですか? > > label=t_train[0] ##train[0]はどのような意味ですか? > > > 質問の意図が不明瞭です。そもそも変数名は`train`でなく、`x_train`や`t_train`という識別子です。`[0]`は配列の0番目要素(先頭の要素)へのアクセスを意味します。