はじめに

Gal Curious

プログラミングでテンソルって言うのを聞いたことあるけど、それって何?🤔

Geek Smiling

テンソルは、機械学習やディープラーニングでデータを表現するために使われる多次元配列だよ。

Gal Happy

なるほどね!もっとよく理解したいなぁ。

Geek Nodding

もちろん!基本から始めよう。

ステップ1: スカラー、ベクトル、行列

Gal Wondering

じゃあ、テンソル、スカラー、ベクトル、行列の関係って何?

Geek Smiling

いい質問だね!スカラーは単一の数値で、ベクトルは1次元配列、行列は2次元配列、テンソルは3次元以上の配列だよ。

Gal Surprised

うわー、だからテンソルはそれら全部を含んでるんだ!🤯

ステップ2: テンソルの作成

Gal Eager

テンソルってどうやって作るの?

Geek Happy

NumPyやPyTorchといったライブラリを使ってテンソルを作ることができるよ。PyTorchを使ってテンソルを作ってみよう。

import torch

tensor = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

ステップ3: テンソルのプロパティを理解する

Gal Curious

テンソルにはどんなプロパティがあるの?

Geek Smiling

テンソルにはshape(形状)、size(サイズ)、dtype(データ型)というプロパティがあるよ。作ったテンソルのこれらのプロパティを確認してみよう。

print(tensor.shape)
print(tensor.size())
print(tensor.dtype)

出力:

torch.Size([2, 2, 2])
torch.Size([2, 2, 2])
torch.int64

ステップ4: テンソル演算

Gal Excited

テンソルに対して操作を行うことができる?

Geek Nodding

もちろん!足し算や掛け算、形状変更など、さまざまな操作を行うことができるよ。2つのテンソルを足し合わせてみよう。

tensor1 = torch.tensor([1, 2, 3])
tensor2 = torch.tensor([4, 5, 6])

result = tensor1 + tensor2
print(result)

出力:

tensor([5, 7, 9])

おわりに

これでテンソルが理解できたね!テンソルはスカラー、ベクトル、行列を含む多次元配列です。形状、サイズ、データ型といったプロパティがあり、さまざまな操作を行うことができます。テンソルについてもっと探求して、楽しんでください!🚀