タグ

PyTorchに関するmasayoshinymのブックマーク (19)

  • PyTorchとfastaiではじめるディープラーニング

    書は、ディープラーニングのトレーニングコースを提供するサイトfast.aiの創始者らが、PyTorchとその上に構築されたライブラリfastaiを用いてディープラーニングを行う方法を解説するものです。特別な訓練や数学の深い知識がなくても実践できるように、平易な言葉と数多くの図でていねいに説明しています。書で扱うトピックは非常に幅広く、コンピュータビジョン、自然言語処理、協調フィルタリングによるモデルの訓練、精度、速度、信頼性の向上、実用アプリケーションの作成のほか、データ倫理、性能改善のための最新テクニックについても網羅します。サンプルコードはすべてJupyterノートブックで提供されており、簡単に試すことが可能。元Kaggleトップの起業家、ジェレミー・ハワードと教育のプロ、シルヴェイン・ガガーによる渾身の一冊です。 序文 まえがき 第Ⅰ部 ディープラーニングの実際 1章 ディープラ

    PyTorchとfastaiではじめるディープラーニング
  • 七声ニーナを支えるバックエンド技術 | BLOG - DeNA Engineering

    データ統括部AI基盤部の竹村( @stakemura )です。記事では、このたびリリースされた、自分の声をキャラクターの声に変換できるWebサービス VOICE AVATAR 七声ニーナ を支えるバックエンド技術についてお話しします。 サービスはDelight Boardという部署横断型のプロジェクトにて、1000人を超える社員投票により自分の案がまさかの採択となったことがきっかけとなります。幸運にも、百戦錬磨のプロジェクトメンバーに助けられ今日のリリースを迎えましたが、採択当時は人脈も信用貯金も何もない入社一年目の思いつきにすぎず、言い出しっぺである自分の力不足によりタイトなスケジュールでの開発となってしまいました。記事では、その限られた開発期間の中で、自分が何を考えて実装したかを中心にお伝えします。 サービングに求められる要件 七声ニーナの音声変換はブラウザから受け取った入力音声

    七声ニーナを支えるバックエンド技術 | BLOG - DeNA Engineering
  • StyleGAN2で属性を指定して顔画像を生成する - すぎゃーんメモ

    memo.sugyan.com の記事の続き(?)。 ある程度の学習データを収集して学習させたモデルが出来たので、それを使って実際に色々やってみる。 StyleGAN2-ADA 学習 mapping出力と生成画像 生成画像の属性推定結果から潜在空間の偏りを抽出 表情推定 顔姿勢推定 髪領域推定 (顔解析) 年齢 (上手くいかず) 複合 Repository StyleGAN2-ADA 前回の記事でも書いたけど、厳選した16,000枚の画像を使って StyleGAN2-ADA を使って生成モデルを学習させてみた。 github.com これは StyleGAN2 から進化したもので、より少ない枚数からでも安定して学習が成功するようになっていて、さらにparameter数など調整されて学習や推論もより早くなっている、とのこと。 それまでのStyleGANシリーズはTensorFlowで実装され

    StyleGAN2で属性を指定して顔画像を生成する - すぎゃーんメモ
  • [文章生成]PyTorchのRNNクラスを使って文章生成を行う準備をしよう

    今回の目的 前回はマルコフ連鎖を用いて、青空文庫で公開されている梶井基次郎の著作データから文章を生成しました。今回から数回に分けてディープラーニングの手法を用いて、文章の生成に挑戦してみましょう。 ここで一つ考えたいのは、文章というものの構造です。例えば、梶井基次郎の『檸檬』には「檸檬などごくありふれている。」という1文があります。これを分かち書きにすると「檸檬 など ごく ありふれ て いる 。」となりますが、これは「檸檬」→「など」→「ごく」→「ありふれ」→「て」→「いる」→「。」と形態素が連続して登場する(時系列)データだと考えられます。こうしたデータを扱うのに適したニューラルネットワークとしてRNNがあります。連載でも「RNNに触れてみよう:サイン波の推測」などで少し触れました。今回はこのRNNを用いて文章を生成するための準備を、次回は実際に文章を生成する予定です。 ここで問題な

    [文章生成]PyTorchのRNNクラスを使って文章生成を行う準備をしよう
  • BERTで行う文章分類 PART5 (PytorchのDataLoaderとDataset編) - Qiita

    この章では、PytorchのDatasetとDataLoaderについて解説していきます。 この章はhttps://gotutiyan.hatenablog.com/entry/2020/04/21/182937 を参考に記述されています。 Pytorchでは、DatasetとDataLoaderを用いることで、簡単にミニバッチ化をすることができます。 Datasetの実装 DataSetを実装する際には、クラスのメンバ関数としてlen()とgetitem()を必ず作ります。 len()は、len()を使ったときに呼ばれる関数です。 getitem()は、array[i]のように[ ]を使って要素を参照するときに呼ばれる関数です。これが呼ばれる際には、必ず何かしらのindexが指定されているので、引数にindexの情報を取ります。また、入出力のペアを返すように設計します。 以上を踏まえて、

    BERTで行う文章分類 PART5 (PytorchのDataLoaderとDataset編) - Qiita
  • pytorch+yolov3を使ってマリオを物体検出してみた - Qiita

    Background [OpenCV][C++]テンプレートマッチングを使って複数検出してみた、ではOpenCVTemplateMatchingを使ってクリボーを検出していました。用意したクリボーの画像を上から下へ走査して形状が類似しているエリアを算出するのですが、上部の雲がクリボーと似ているらしくて雲とクリボーが一緒に出てくると雲の方が先に検出がかかってしまいました。 大雑把に類似度の高いエリアをトリミングして、その後でテンプレート画像とヒストグラムか背景差分を使って判定はできそうなのですが、今回は趣向を変えてyolov3を使った物体検出をしてみます。 Device CPU AMD Ryzan 5 1400 GPU GeForce GTX960 Mother Board MSI B450 GAMING PLUS MAX B450 Memory DDR4 8G × 4枚 = 32G CU

    pytorch+yolov3を使ってマリオを物体検出してみた - Qiita
  • PyTorchチュートリアル(日本語訳版)

    [1] サイトでは、「PyTorch 公式チュートリアル(英語版 version 1.8.0)」を日語に翻訳してお届けします。 [2] 公式チュートリアルは、①解説ページ、②解説ページと同じ内容のGoogle Colaboratoryファイル、の2つから構成されています。 両者は基的には同じ内容です。サイトでは 「Google Colaboratoryファイル」で、チュートリアルの日語訳を用意しております(未完成分は順次公開いたします)。 [3] サイトのチュートリアルの閲覧および実行は、Google Colaboratory環境を前提とします。 (サイトのライセンスはこちらとなります) [4] サイトに掲載している、日語チュートリアルをまとめて配置したGitHubはこちらとなります。 [0] 目次(table of contents) 日語解説へ [1] テンソル(T

    PyTorchチュートリアル(日本語訳版)
  • PyTorch vs. TensorFlow、ディープラーニングフレームワークはどっちを使うべきか問題【2021年】

    連載目次 昨年10月、同タイトルの記事を公開して好評だった。今回は、2021年に向けた、そのアップデート記事となる。 ディープラーニング(深層学習)を実装する場合、専用のライブラリ/フレームワークを用いるのが一般的だ。ディープラーニングが流行してから直近5年ほどの間に、次々と新しいフレームワークが登場した。現在、主要なものを挙げると、 TensorFlow: 2015年登場、Google製。一番有名で、特に産業界で人気 Keras: 2015年登場、作者がGoogle社員。使いやすくて簡単。TensorFlow 2に同梱され標準APIPyTorch: 2016年登場、Facebook製。この中では新興だが、特に研究分野で人気急上昇中 Chainer: 2015年登場、日のPreferred Networks製。2019年12月に開発を終了し、PyTorchへの移行が推奨されている な

    PyTorch vs. TensorFlow、ディープラーニングフレームワークはどっちを使うべきか問題【2021年】
  • PyTorchでDCGANを作ってみよう

    そこで、今回は「CNNなんて怖くない! その基を見てみよう」や「PyTorchで畳み込みオートエンコーダーを作ってみよう」などで取り上げた畳み込みニューラルネットワークを利用して、GANを構築してみることにします。 実際の構成は、次のようになります。以下ではConv2dクラスとConvTranspose2dクラスのみを含めてありますが、BatchNorm2dクラスおよびtorch.nnモジュールが提供する活性化関数クラス(torch.nn.Sigmoidクラス、torch.nn.Tanhクラス)も使用します。訓練データと偽物のデータの識別と偽物データの生成の中心的な処理はこれら2つのクラスが請け負うということです。 識別器(ディスクリミネーター)では、CNNで使用するConv2dクラスにより訓練データおよび生成器(ジェネレーター)から入力されたデータを最終的に0~1の値へと変換していきま

    PyTorchでDCGANを作ってみよう
  • PyTorchでの学習・推論を高速化するコツ集 - Qiita

    記事では、NVIDIAから発表されているPyTorchでのディープラーニングを高速化するコツ集を紹介します。 【※NEW】22年6月新記事:スクラム関連の研修・資格のまとめ & おすすめの研修受講方法 記事について 記事は、NVIDIAのArun Mallyaさんの発表、 「PyTorch Performance Tuning Guide - Szymon Migacz, NVIDIA」 に、説明やプログラムを追加して、解説します。 記事のポイントは、Andrej KarpathyがTwitterで呟いている通りとなります。 good quick tutorial on optimizing your PyTorch code ⏲️: https://t.co/7CIDWfrI0J quick summary: pic.twitter.com/6J1SJcWJsl — Andrej

    PyTorchでの学習・推論を高速化するコツ集 - Qiita
  • ImageNet:大規模なカラー写真の画像データベース

    連載目次 データセット解説 ImageNetは、1400万枚以上もあるほど大規模な、「カラー写真」の教師ラベル付き画像データベースである。その教師ラベルは、WordNet階層*1に基づいて付与されている。スタンフォード大学のフェイフェイ・リ(Fei-Fei Li)氏を中心とした研究グループが管理しており、世界中の研究者や教育/学びに役立ててもらうためのリソースとして公開されている。 *1 WordNetとは、英語の語彙(ごい)データベースであり、synsetと呼ばれる「同義語(synonyms)セット」がツリー階層構造でグループを形成しながら定義されているのが特徴である。ImageNetでは2万以上のsynsetが採用されている。 ImageNet歴史的な重要性 ImageNetは、歴史的に非常に有名である。2012年に開催されたImageNetの大規模画像認識コンペ「ILSVRC(Im

    ImageNet:大規模なカラー写真の画像データベース
  • 種類が豊富な画像モデルライブラリpytorch-image-models(timm)の紹介 - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は小麦を暫くべるだけにしたいです。(畑で見たくない‥) さて、日は最近勢いのあるモデルのライブラリ(pytorch-image-models)を紹介します。 pytorch-image-modelsとは 通称timmと呼ばれるパッケージです。 PyTorchの画像系のモデルや最適化手法(NAdamなど)が実装されています。 Kagglerもこのパッケージを利用することが増えています。 github.com 従来まで利用していたpretrained-models.pytorchは更新が止まっており、最新のモデルに追従できていないところがありました。 このモデルは例えば、EfficientNetやResNeStなどの実装もあります モデルの検証も豊富でImageNetの様々なパタンで行われているのでこの中で最適なものを選択すると良いでしょう。詳しくはこちら

    種類が豊富な画像モデルライブラリpytorch-image-models(timm)の紹介 - のんびりしているエンジニアの日記
  • PyTorchで畳み込みオートエンコーダーを作ってみよう

    今回の目的 前回は、CIFAR-10と呼ばれる画像データセットをエンコード/デコードするオートエンコーダーを作成しました。このオートエンコーダーの内部では全結合型のニューラルネットワークを用いていましたが、画像をうまく復元しようとすると、かなりの時間がかかることが難点でした。また、復元後の画像もそれほどキレイなものではありませんでした。 そこで、今回は「畳み込みオートエンコーダー」と呼ばれるオートエンコーダーを作成して、全結合型のオートエンコーダーよりも高い精度で画像を復元できるようにすることを目的とします(学習にかかる時間が短ければさらに好ましいといえるでしょう)。 畳み込みオートエンコーダーとは、連載の「CNNなんて怖くない! その基を見てみよう」で取り上げたCNN(Convolutional Neural Network、畳み込みニューラルネットワーク)を使ったオートエンコーダー

    PyTorchで畳み込みオートエンコーダーを作ってみよう
  • PyTorchでオートエンコーダーによる画像生成をしてみよう

    連載目次 前回までは、ニューラルネットワークの基となる要素(全結合型のニューラルネットワーク、CNN、RNN)について見てきました。基礎知識編は取りあえず前回までとします。今回からは、もう少し高度な話題にチャレンジしていこうと思います。 題に入る前に、応用実践編のスタートとして、連載の成り立ちや趣旨、目的について、あらためて簡単に紹介しておきます。筆者自身、@IT/Deep Insiderフォーラムが始まってから、ディープラーニングを格的に学び始めた者の一人です。そんな筆者が、まるで「工作室や実験室、ガレージ」で何か面白いものを作りながら、ディープラーニングについての理解を深めていき、その体験や知見を読者と共有していこう、というのが連載の趣旨/目的です。連載名「作って試そう! ディープラーニング工作室」にはそういった意味があります。読みやすさを考え、一部、解説記事として同じような

    PyTorchでオートエンコーダーによる画像生成をしてみよう
  • 第3回 PyTorchによるディープラーニング実装手順の基本

    前々回はPyTorchの核となる部分を、前回はPyTorchの基礎部分といえる「テンソルとデータ型」の説明を行った。今回は、4層のディープニューラルネットワークを題材に、PyTorchによる基的な実装方法と一連の流れを解説する。 全3回の大まかな流れは以下の通りである。 (1)ニューロンのモデル定義 (2)フォワードプロパゲーション(順伝播) (3)バックプロパゲーション(逆伝播)と自動微分(Autograd) (4)PyTorchの基礎: テンソルとデータ型 (5)データセットとデータローダー(DataLoader) (6)ディープニューラルネットのモデル定義 (7)学習/最適化(オプティマイザ) (8)評価/精度検証 このうち、(1)~(3)は前々回、(4)は前回で説明済みである。今回は(5)~(8)を説明する。それでは、前々回の核となる部分を簡単に振り返ったうえで、さっそく今回の説

    第3回 PyTorchによるディープラーニング実装手順の基本
  • ヨドバシ.com - つくりながら学ぶ!PyTorchによる発展ディープラーニング [ムック・その他] 通販【全品無料配達】

  • 第2回 PyTorchのテンソル&データ型のチートシート

    連載目次 前回は、PyTorchの核となる部分の説明を行った。今回は、PyTorchの基礎部分といえる「テンソルとデータ型」をチートシート形式で確認する。 なお、連載の第1回~第3回までは続きものとなっている。 全3回の大まかな流れは以下の通りである。 (1)ニューロンのモデル定義 (2)フォワードプロパゲーション(順伝播) (3)バックプロパゲーション(逆伝播)と自動微分(Autograd) (4)PyTorchの基礎: テンソルとデータ型 (5)データセットとデータローダー(DataLoader) (6)ディープニューラルネットのモデル定義 (7)学習/最適化(オプティマイザ) (8)評価/精度検証 このうち、(1)~(3)は前回説明済みである。今回は、(4)を説明する。それではさっそく説明に入ろう。※脚注や図、コードリストの番号は前回からの続き番号としている(第1回~第3回は、切り

    第2回 PyTorchのテンソル&データ型のチートシート
  • 第1回 難しくない! PyTorchでニューラルネットワークの基本

    PyTorchの習得は、シンプルなニューラルネットワーク(NN)の、まずは1つだけのニューロンを実装することから始めてみよう。ニューロンのモデル定義から始め、フォワードプロパゲーションとバックプロパゲーションといった最低限必要な「核」となる基機能に絞って解説。自動微分についても簡単に触れる。 連載目次 人気急上昇の「PyTorch」を使いたい。そう考えて、PyTorchの公式チュートリアルを開いて学習を始めてみた、という人は少なくないだろう。しかし、挫折してしまったり、なかなか進まなかったり、という人も少なくないのではないだろうか。 というのも、その公式チュートリアルの、最初の「テンソル」解説だけは(NumPyライクな直観的なAPIなので)難しくないとしても、次が「Autograd(自動微分)」、その次が「ニューラルネットワーク」……と言いつつも、いきなり「CNN(畳み込みニューラルネッ

    第1回 難しくない! PyTorchでニューラルネットワークの基本
  • PyTorchでCIFAR10を既存のCIFAR10のDataset Classを使わずに分類する - のんびりしているエンジニアの日記

    皆さんこんにちは。 お元気ですか。雨天が増えてきて、出かけるのが億劫になっています。 PyTorchを使って画像認識データセットCIFAR10を分類しました。 KaggleでPyTorchユーザが増えてきたこともあり、勉強しました。 最近、この手のチュートリアルやExamplesに良しなにできる データ処理専用クラスを予め作っていることがあります。 この状態は新しいデータセットを試したい場合に不便なので、 そのような内容が含まれないCIFAR10のコードを記述しました。 PyTorch PyTorchとは Deep Learningのフレームワークです。 柔軟なネットワーク構築やGPUを利用した高速な行列演算を得意としています。 Chainerをforkして作られたので、実装方法が非常に似ています。 噂ではございますが、Chainerより高速だったりそうでなかったり。 http://pyt

    PyTorchでCIFAR10を既存のCIFAR10のDataset Classを使わずに分類する - のんびりしているエンジニアの日記
  • 1