機械学習・ディープラーニングがゼロから学べる大人気『脱ブラ』が無料に!

【初学者向け】プログラミングで公式ドキュメントを読むメリット 3 つ【新人プログラマ】

この記事はこんな方にオススメです
  • 最近プログラミングの勉強を始めた方
  • コードの理解度を上げたい方
  • コードを模写するだけではなく、自分で実装してみたい方

こんにちは、機械学習講師の竹内です。
みなさんはプログラミングをする際に、公式ドキュメントを読んでいますでしょうか。

公式ドキュメントとはフレームワークやライブラリ、言語の内容について、公式組織が公開している文書のことです。基本的には英語で書かれているものが多く、例えば PythonHTML など様々な公式ドキュメントが存在します。

私自身、プログラミングを学習し始めた時は公式ドキュメントを全く読んでいませんでしたが、勉強を進める中で公式ドキュメントに助けられたことが何度もありました。

本記事では、公式ドキュメントを読むことによるメリットを 3 つお伝えしたいと思います。

注意

この文章は公式ドキュメントの情報だけを見ることを推奨するものではありません。しかし 1 次情報(公式ドキュメント)を見ることでしか得られないメリットもありますので、ぜひ公式ドキュメントを上手く活用してみてください。

メリット 1:必ず正しいことが書かれている

公式ドキュメントには必ず正しいことが書かれています。そのため、上手く動かないコードがあったとしても公式ドキュメントを調べれば必ず正解にたどり着けます。

具体例を用いて考えてみましょう。皆さんがコードを調べていた時、 A さんの記事B さんの記事では以下のようにコードが書かれていました。

この場合どちらが正しいでしょうか。違いは kernel_size の部分です。
※ コードの内容はわからなくても問題ありません。

A さんの記事
import torch
torch.nn.Conv2d(in_channels=1, out_channels=3, kernel_size=3)
B さんの記事
import torch
torch.nn.Conv2d(in_channels=1, out_channels=3, kernel_size=(3, 3))

実装して動かしてみるとわかりますが、この 2 つのコードはどちらとも正しいです。

なぜどちらとも正しいと言えるのでしょうか。公式ドキュメントを見て確認してみましょう。

torch.nn.Conv2d_params

出典:Conv2d — PyTorch 1.9.0 documentation

上記のドキュメントでは次のことが書かれています。

    • パラメータ kernel_size, stride, padding, dilation には,以下のいずれかを指定できます。
    • 1つの int – この場合,高さと幅の両方に同じ値が使われます。
    • 2つの int のタプル – この場合,最初の int が高さの次元に, 2 番目の int が幅の次元に使用されます。

つまり kernel_size=3 と指定すると自動的に kernel_size=(3, 3) に変更してくれることが記載されています。そのため A さんの記事のコードと B さんの記事のコードはどちらとも正しいと言えます。

このように何が正しいのかわからなくなった時に公式ドキュメントは必ず正解を教えてくれます。

またプログラミング言語やフレームワークはバージョンが更新されると記述方法が大きく変わることも珍しくありません。

公式ドキュメントには必ず最新の記述方法が記載されているので、公式ドキュメントが読めると常に最新のバージョンに対応できます。

メリット 2:情報が網羅されている

公式ドキュメントには必ず全ての情報が記載されています。先程、具体例として記載したコードの公式ドキュメントを見てみましょう。

torch.nn.Conv2d

出典:Conv2d — PyTorch 1.9.0 documentation

こちらを A さんのコードと見比べてみましょう。

A さんの記事
import torch
torch.nn.Conv2d(in_channels=1, out_channels=3, kernel_size=3)

A さんは引数として in_channels, out_channels, kernel_size の 3 つしか指定していませんでしたが、他にも stride, padding, dilation, groups, bias, padding_mode, device, dtype を指定できることがわかります。
stride=1 とはデフォルトで 1 という値が指定されていることを意味します。)

また、今回は torch.nn.Conv2d() クラスについて紹介しましたが、公式ドキュメントにはその他にどんなクラス(機能)があるかも確認できます。

torch.nn

出典:torch.nn — PyTorch 1.9.0 documentation

公式ドキュメントを調べることで今まで使ったことのない機能を知ることができます。

メリット 3:公式が推奨する実装方法やサンプルがある

公式ドキュメントを読み解いてコードを作ることはプログラミング初学者にとってかなり難しい作業かと思います。(私は最初の頃全くできませんでした…)

しかし公式ドキュメント内にはサンプルコードが記載されていることが多いです。つまり動くコードが記載されているということです。

先程、使用したコードの公式ドキュメントにもサンプルコードが記載されています。

torch.nn.Conv2d_sample_code

出典:Conv2d — PyTorch 1.9.0 documentation

そのため以下のようなステップを踏むことでコードの理解を深めることができます。

step1
サンプルコードをコピペして実行してみる。
step2
サンプルコードの値を自分で変化させて挙動を確認する。
step3
公式ドキュメントに記載されている他の引数も入れて挙動を確認する。

補足 : 公式ドキュメントの読み方

公式ドキュメントは英語で書かれていることが多いため、英語が苦手で読むモチベーションが上がらない方もいらっしゃるかと思います。

そんなときは DeepL を使ってみてください。(無料で使えます!)

DeepL

出典:DeepL翻訳:世界一高精度な翻訳ツール

DeepL は機械翻訳ツールなのですが、翻訳の精度がかなり高く自然な日本語で読めます。私自身 DeepL を使用して公式ドキュメントを読んでいますのでぜひ皆さんも活用してみてください。

最後に:公式ドキュメントをうまく使おう

本記事では公式ドキュメントを読むことによるメリットについてお伝えしました。

しかし、最初にお伝えしたように公式ドキュメントだけを見るべきとお伝えしたいわけではありません。Web で検索すれば公式ドキュメントよりもわかりやすく伝えてくれる記事をたくさん見つけられます。

「最初の学習にはわかりやすい記事を使い、知識の深堀りに公式ドキュメントを使用する」といったように皆さんの学習ツールの 1 つとして活用していただければ幸いです。