import torch a = torch.tensor([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12],]) print(a) # tensor([[ 1, 2, 3, 4], # [ 5, 6, 7, 8], # [ 9, 10, 11, 12]]) print(a.shape) # torch.Size([3, 4])
import torch a = torch.tensor([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12],]) print(a) # tensor([[ 1, 2, 3, 4], # [ 5, 6, 7, 8], # [ 9, 10, 11, 12]]) print(a.shape) # torch.Size([3, 4])
PyTorchに実装されているScheduler 以下、リンク先ドキュメントから、PyTorchに実装されているSchedulerは14種類あることがわかります。 TORCH.OPTIM(How to adjust learning rate) – PyTorch v1.11.0 Docs — lr_scheduler.LambdaLR — lr_scheduler.MultiplicativeLR — lr_scheduler.StepLR — lr_scheduler.MultiStepLR — lr_scheduler.ConstantLR — lr_scheduler.LinearLR — lr_scheduler.ExponentialLR — lr_scheduler.CosineAnnealingLR — lr_scheduler.ChainedScheduler — lr_
torch.saveとtorch.loadを使う方法 始めに、保存や読み込みの対象とするモデルを定義します。今回は、全結合のシンプルなニューラルネットワークを対象とします。 import torch from torch import nn class NeuralNetwork(nn.Module): def __init__(self): super(NeuralNetwork, self).__init__() self.flatten = nn.Flatten() self.linear_relu_stack = nn.Sequential( nn.Linear(28*28, 512), nn.ReLU(), nn.Linear(512, 512), nn.ReLU(), nn.Linear(512, 10) ) def forward(self, x): x = self.fla
import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets from torchvision.transforms import ToTensor ここでは、torchvision.datasetsを用いてFashionMNISTデータセットをダウンロードし、datasetとして読み込まれます。引数のtrainがTrueであれば学習データを読み込み、Falseであればテストデータを読み込みます。torchvision.datasetsには、CIFAR100、MNISTやImageNet 2012 Classification Datasetなど数多くの有名なデータセットが含まれています。 # Download training data
================================================= Layer (type:depth-idx) Output Shape Param # ================================================= ResNet -- -- ├─Conv2d: 1-1 [16, 64, 8, 8] 9,408 ├─BatchNorm2d: 1-2 [16, 64, 8, 8] 128 ├─ReLU: 1-3 [16, 64, 8, 8] -- ├─MaxPool2d: 1-4 [16, 64, 4, 4] -- ├─Sequential: 1-5 [16, 64, 4, 4] -- │ └─BasicBlock: 2-1 [16, 64, 4, 4] -- │ │ └─Conv2d: 3-1 [16, 64, 4, 4
Numpyによるホワイトノイズの生成 ホワイトノイズはランダムな時系列信号を生成すれば良いので、np.random.randを使用します。 np.random.rand – Numpy v1.26 Manual ここでは、サンプリング周波数が44.1kHz、振幅の範囲が -1〜1、長さが3秒のホワイトノイズを作成します。 import numpy as np import matplotlib.pyplot as plt A = 1.0 # 振幅 sec = 3.0 # 信号の長さ s sf = 44100 # サンプリング周波数 Hz x = 2*A*(np.random.rand(round(sf*sec))-0.5) # ホワイトノイズの生成f plt.plot(x) 時間波形 PyTorchによるホワイトノイズの生成 PyTorchでは、torch.rand関数を使用して、ホワイト
numpyによる正弦波の生成 正弦波(純音)は、次式で表すことができる。 Aは振幅、fは周波数[Hz]、tは時間である。今回、振幅は0.5、周波数は1 Hz、3秒間の正弦波を生成する。ここでtは、デジタル信号であるため1サンプルあたりの時間は1/sfとする。詳細は以下参考資料をご覧ください。 参考資料 – 法政大学 ディジタルデータ資料 import numpy as np import matplotlib.pyplot as plt A = 0.5 # 振幅 f = 1.0 # 周波数 Hz sec = 3.0 # 信号の長さ s sf = 44100 # サンプリング周波数 Hz t = np.arange(0, sec, 1/sf) #サンプリング点の生成 y = A*np.sin(2*np.pi*f*t) # 正弦波の生成 plt.plot(t, y);
音楽とオーディオ分析のPythonライブラリであるlibrosaで、音声/音楽データを読み込むにはlibrosa.loadを用いる。 librosa.load – librosa v0.9.0 Documentation 今回用いるサンプル音源を、以下コードを実行して、_sample_dataフォルダにダウンロードする。 import os import requests _SAMPLE_DIR = "_sample_data" SAMPLE_WAV_URL = "https://pytorch-tutorial-assets.s3.amazonaws.com/steam-train-whistle-daniel_simon.wav" SAMPLE_WAV_PATH = os.path.join(_SAMPLE_DIR, "steam.wav") os.makedirs(_SAMPLE_D
はじめに 画像分類を行う際に、どのような特徴量や機械学習の手法を用いるかアイディアを膨らませるために、目視で画像を確認することがあります。Pythonのを利用する場合は、matplotlibライブラリで表示させるのが一般的です。しかし、インタラクティブなNotebookインターフェースの場合、膨大な数の画像をを表示させようとすると、実行⇄表示を繰り返す必要がり、非常にストレスが溜まります。そこで、この記事では、IPyPlotを活用した、誰でも簡単かつNotebookインターフェースでの快適な画像表示について紹介します。 IPyPlotを利用したコードの紹介 実行環境:Google Colaboratoory 2022/1/3 GitHubのREADME.mdを参考にコードを記載していきます。まず、Google ColabにIPyPlotをインストールします。 !pip install i
PyTorchの乱数シード固定方法 PyTorch OfficialのREPRODUCIBILITYのページを参考に、Python、Numpy、PyTorchそれぞれの乱数ジェネレータを固定しないといけないことが分かります。また、nondeterministic algorithmsをしないように設定する必要があります。それらのコードを固定したコードは以下になります。 import random import numpy as np import torch def torch_fix_seed(seed=42): # Python random random.seed(seed) # Numpy np.random.seed(seed) # Pytorch torch.manual_seed(seed) torch.cuda.manual_seed(seed) torch.backend
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く