引き続きお仕事でPyTorchを使った開発を行っているのですが、これまでKerasで高度にラッピングされた学習フレームワークしか経験が無かったので、お作法的なところで躓くこと・疑問に思うことがよくありました。 loss.backward()で計算グラフを伝って誤差逆伝播されるのはなんとなくわかる だけど、その計算方法や計算結果は誰が持ってて、入力側へどうやって渡してるのだろうか... optimizer.zero_grad()とoptimizer.step()は何をしているの? 今回はPyTorchの誤差逆伝播やパラメータ更新について調べて整理しました。 この投稿ではPyTorch 1.1.0を使ってます。 import torch import torch.optim as optim import numpy as np import matplotlib.pyplot as plt
今回は、公式にあるPyTorch TutorialのTransfer Learning Tutorialを追試してみた! 180205-transfer-learning-tutorial.ipynb - Google ドライブ 前回(2018/2/12)取り上げたVGGやResNetのような大規模な畳み込みニューラルネット(CNN)をスクラッチ(ランダム重み)から学習させられる人は少ない。大規模なデータとマシンパワーが必要になるためだ。 そんな"貧乏人"の強い味方が転移学習(Transfer Learning)。これはDeep Learningを始めたらすぐにでも身につけるべき超重要テクと言える*1 転移学習は、(ImageNetなどの)大規模データで学習済みのモデルを別のタスクに応用(転移)する技術全般を指す。 今回は、ImageNetで学習した1000クラスの分類モデルをアリとハチの
さて、今回は2015年に提案されたDCGAN(Deep Convolutinoal Generative Adversarial Networks)について解説していきたいと思います。 DCGANは学習が難しいとされていた畳み込み層を積み重ねたGANに、細かな工夫をすることで、幅広いデータセットでうまく学習ができるようにしたものです。 論文は以下になります。 『Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks』 実際に実装したり、実装を見た方がわかりやすいので、はじめにDCGANの仕組みをざっと解説して、PyTorchで実装していきたいと思います。 GANの概要 GANはもともと2014年にIan Goodfellowらによって論文「Generative
本稿ではPyTorchを利用したCIFAR-10の画像分類を行います。 公式のチュートリアルに沿ってコメントを添えつつ追っていきます。 尚、Pythonと機械学習は超初心者です。 CIFAR-10とは? 機械学習界隈で広く利用されている10ラベルの画像データセットです。 airplane、automobile、bird、cat、deer、dog、frog、horse、ship、truck の10ラベルが用意されています。 環境 macOS Catalina Python 3.7.2 pip 19.1.1 PyTorchのインストール 公式サイトで各環境に合わせてインストールコマンドを発行してくれます。 私はmacOSなので次を実行してインストールします。 # NumPy、Matplotlib、PyTorchをインポートする import numpy as np import matplot
概要 Pytorchのチュートリアル「TRAINING A CLASSIFIER」(日本語名:クラス分類の学習方法)の最初の章、「CIFAR10の読み込みと正規化」のみ解説していきます。 Pytorchのチュートリアル↓ このチュートリアルは「Deep Learning with PyTorch: A 60 Minute Blitz」の最終章であり、これを理解できればPyTorchを理解したと言っても過言ではないわけです(いや、過言ですね)。 ネットワークの定義や実行などは細かく解説されているサイトが多いですが前処理の部分をソースコードまで読んで細かく解説している人がいなかったので備忘録も兼ねて書いていきます。 C言語しか勉強してないので変に細かいところまで書いていますがご了承ください。 モジュールの読み込み まずは必要なモジュールを読み込む。 import torch import to
[1] 本サイトでは、「PyTorch 公式チュートリアル(英語版 version 1.8.0)」を日本語に翻訳してお届けします。 [2] 公式チュートリアルは、①解説ページ、②解説ページと同じ内容のGoogle Colaboratoryファイル、の2つから構成されています。 両者は基本的には同じ内容です。本サイトでは 「Google Colaboratoryファイル」で、チュートリアルの日本語訳を用意しております(未完成分は順次公開いたします)。 [3] 本サイトのチュートリアルの閲覧および実行は、Google Colaboratory環境を前提とします。 (本サイトのライセンスはこちらとなります) [4] 本サイトに掲載している、日本語チュートリアルをまとめて配置したGitHubはこちらとなります。 [0] 目次(table of contents) 日本語解説へ [1] テンソル(T
前回(2018/2/28)の最後で次はConditional VAEだと言っていたけど思いっきり無視して (^^;) 今回はGenerative Adversarial Networks (GAN) やろう。いくつかのデータセットで実験しようと思っているけど今回は最初ということでMNISTから。 今回の実装は正確に言うとGeneratorとDiscriminatorに畳み込みニューラルネットを使っているので DCGAN(Deep Convolutional Generative Adversarial Networks) と呼ばれるGANにあたる。論文の設定とは微妙に違うところあるけど。 180303-gan-mnist.ipynb - Google ドライブ まずはいつものimportから。 import os import pickle import numpy as np impor
初めに PytorchでCNNを構築し,MNISTデータセットを学習した。 学習したモデルを読み込んで使うプログラムを組んだ。(意外と記事少なかった) モデルの作成は以前記事にしたのでよかったら是非。( こちら 参照) <対象> - 機械学習初心者(細かい内容についての解説はしません) - PyTorch触り始めた方 - アバウトな解説でも耐えられる方 <非対象> - Pytorch詳しい方 - 精度向上したい方 [環境] Python 3.6.9 torch 1.6.0 numpy 1.16.4 Pillow 6.2.0 モデルの保存 PATH = "./my_mnist_model.pt" torch.save(net.state_dict(), PATH) 学習済みモデルを保存する。 torch.save()の引数をnet.state_dict()とすることによりネットワーク構造や各
本記事の対象者 Google Colabを初めて使う初心者 本記事はGoogle Colaboratory (通称Google Colab)という単語を聞いて、なんとなく何ができるかは知っているけど使った事がない初心者の方を対象としています。 というのも、この記事を書いた筆者自身が書籍のコラムを参考にしながら全くの初見で始めています。以下の書籍を参考にしましたが、使い勝手を考えてアレンジしています。 本書はPyTorchの基本から深層学習モデルの作成、そしてアプリケーション作成まで網羅した書籍です。具体的には、PyTorchの基本から始まり、最尤推定と線形モデル、多層パーセプトロンについて解説します。その後、画像処理と畳み込みニューラルネット、自然言語処理と再帰型ニューラルネットを扱います。また、推薦システムやWebAPIの作成、アプリケーションのデプロイについても解説します。さらに付録で
pytorchで画像認識のモデルを作って。テストデータを評価する、って記事はたくさんありましたが、JPEGとかPNGとかの画像を実際に読み込んで予測してみた記事があんまりない気がしたので、まとめてみました。 今回のゴール PNG画像をPyTorchで作った学習モデルに通して予測してみます。 モデルはMNISTの手書き数字認識を使います。 学習モデルの構築 Google ColaboratoryでPyTorchでMNISTを学習したモデルを保存し、それを読み出して使う簡単サンプル - 人工知能プログラミングやってくブログ この記事を参考に学習モデルを作ります。 動かすと1,725,616バイトのmnist_cnn.ptができました。 機械学習モデルを使って予測する PyTorch 1.1 Tutorials : 画像 : PyTorch を使用した画風変換 – PyTorch この記事を参考
Pytorch tutorial DataSetの作成 DataLoader 自作transformsの使い方 PILの使い方 Model Definition Training total evaluation each class evaluation CNNを用いた簡単な2class分類をしてみる Pytorch tutorial Training a Classifier — PyTorch Tutorials 1.4.0 documentation Transfer Learning for Computer Vision Tutorial — PyTorch Tutorials 1.4.0 documentation Writing Custom Datasets, DataLoaders and Transforms — PyTorch Tutorials 1.4.0 doc
概要 PyTorchを使って、以下の5ステップでDCGANを作成します。 データの準備 Generatorの作成 Discriminatorの作成 訓練関数の作成 DCGANの訓練スタート 当記事は、 DCGANの理論は他の方に任せて、簡単・シンプルなコードで、サクッと動かすことを目的としています。 コード・サンプルデータセットはGitHubに載せています。 1. データの準備 1.1 データのダウンロード・前処理 前処理済みのサンプルデータセット(sample_data)をGitHubに用意しているので、以下は読み飛ばしても大丈夫です。 データは、アニメのキャラクターの顔を集めたデータセットAnimeFace Character Datasetを使用します。 しかし、AnimeFace Character Datasetは顔よりも広めに切り取ってあるので、lbpcascade_anime
だいぶ期間が空いてしまいましたが、結構前にGoogle Cloud Platformの使い方を勉強していました。 (別に諦めてたわけではなく、単純にAWSでいろいろやることがあったので、そっちを使ってただけです) tsunotsuno.hatenablog.com 当初の目的としては、GPUを使ってDeep Learningをサクサク回していきたいという意図でした。 今回は手元のコードをGCPのGPUを使って学習するまでにやったことのメモです。 環境構築 Google公式のVMを使用 NVIDIA-Dockerを使ってDockerコンテナ内からGPUを操作できるようにする GPUを使用する設定 GPU割当申請 インスタンスの作成 プロジェクトの作成 インスタンスの作成 CUDAのインストール NVIDIA Dockerのインストール 動作確認 環境構築 簡単な方法は大きく分けて2通りあって
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く