やってみた!

やってみた!

試したことを中心に、書評や興味のあること、思ったこととか

PyBulletでURDF(Unified Robot Description Format)  URDF解説編(2)

前回はURDFの基本構造の紹介と、Colaboratoryを使ってPyBulletにhumanoid.urdfを読み込ませ、表示させる方法を紹介しました。 今回はhumanoid.urdfの中身を見ていきます。 1.PyBulletのHumanoid.urdfの用途について PyBulletのプロジェクトにあるhumanoid.ur…

PyBulletでURDF(Unified Robot Description Format)  URDF解説編(1)

前回までは3D物理シミュレータBulletのpythonラッパーPyBulletで動くGym,HumanoidFlagrun(Harder)BulletEnv-v0を使い深層強化学習を試してみました。 本記事では、オリジナルのロボットのシミュレーション環境を構築できる様、まずはURDFについて調べてみま…

PyBullet-HumanoidFlagrunHarderBulletEnv-v0(4)

次はHumanoidFlagrunを学習させてみます。Humanoidの学習に使ったソースコードのenvを定義している箇所を入れ替え(コメントアウト)て動かします。ソースは前々回のこちらの記事を見てください。 ちなみに、学習を進めても全然報酬が増えず、Google Colabor…

Colabortoryをローカルランタイムで使ってみる

2020年1月30日 改訂1 エラーが表示されjupyterがうまく実行されず、ipykernelをアップグレードした件について、最後に追記しました。 ------------------------------------- Google Colaboratoryは大変便利なのですが…

PyBullet-HumanoidFlagrunHarderBulletEnv-v0(3)

今回はSoft Actor-Critic(SAC)について備忘録ということで解説します。以下の論文は初期のSACをさらに改良したものです。 1.深層強化学習の理解に必要な事項の整理 まずは、各記号、考え方の整理など。 行動価値関数が最大になる行動を出力する方策関数を学…

PyBullet-HumanoidFlagrunHarderBulletEnv-v0(2)

2020/1/25改正 学習継続時に早くalphaが収束するようalpha、log_alpha、alpha_optimizerを保存するように変更しました。gpu有、無しの両環境で保存データを共有できるようモデル読み込み時にmap_location=deviceを追加しました。 2020/1/23改正 BATCH_SIZEを…

PyBullet-HumanoidFlagrunHarderBulletEnv-v0(1)

次は3Dの物理シミュレータを使ってみます。以前はOpen AI Gymで使える3D物理環境は有料のMuJoCo用だけでしたが、今では無料で使えるPyBullet用環境(env)もあるということなので、こちらを使ってみます。 PyBulletはErwin Cumansさんらが開発したオープンソー…

Open AI Gym Box2D BipedalWalkerをColaboratoryで動かしてみる(7)

今回はおまけということで、DDPGに教師を追加してみました。記事の最初の方で作成したPD制御を教師として、DDPGの経験処理中に行動をアシストすると、学習に何か効果があるかを試しました。 結果、最初は教師の影響を受けて大股で歩こうとしていたものの、最…

Open AI Gym Box2D BipedalWalkerをColaboratoryで動かしてみる(6)

前回はDDPGをざくっと解説してみました。 今回はDDPGでBipedalWalkerを学習させてみます。 1.BipedalWalker-v2の報酬について Open AI Gymのgithubサイトにあるソースリスト https://github.com/openai/gym gym-envs-box2d-bipedal_walker.pyの関数stepを…

Open AI Gym Box2D BipedalWalkerをColaboratoryで動かしてみる(5)

前回はDDPG(Deep Deterministic Policy Gradient)でMountainCarContinuousに挑戦し、無事学習して山登りに成功しました。(BipedalWalkerは手強いので後回しです・・・) 今回は中身について、ざっくりですが解説してみます。 1.DDPG(Deep Deterministic …

Open AI Gym Box2D BipedalWalkerをColaboratoryで動かしてみる(4)

改正2019.12.26 ソースリスト中でsteps_done +=1の位置をwhileループ(各ステップ計算ループ)からepsodeのforループに移動しました(バグ)。このバグのためSIGMA_DECAYがほとんど効かず、すぐにノイズが小さくなっていました。あわせてSIGMA_DECAYの設定値…

Open AI Gym Box2D BipedalWalkerをColaboratoryで動かしてみる(3)

前回の続きです。歩行のスケジュールをチューニングした結果、2,3歩歩けるようになりました。これ以上は胴体の傾きをつかって制御するなどもう一工夫必要そうです。 スケジュール制御での歩行は一旦このくらいにしておきます。とりあえず現状の歩行を以下に…

Open AI Gym Box2D BipedalWalkerをColaboratoryで動かしてみる(2)

前回の続きです。まずは、ニューラルネットワークを使わずにとにかく動かして、BipedicalWalkerがどのようなものなのか試してみます。歩くとこまで行くかどうか(現在も試行錯誤中)。とりあえず、脚の角速度が指令値じゃ何なので角度制御を導入します。

Open AI Gym Box2D BipedalWalkerをColaboratoryで動かしてみる(1)

Open AI Gymをご存知の方も多いと思いますが、強化学習の開発用にOpen AIがフリーで提供しているテスト環境です。pythonで書かれています。 https://gym.openai.com/ この中にはブロック崩し、インベーダゲームを始めとするAtariの様々なゲームや、2次元の月…

Jetson NanoでTacotron2(音声合成)を動かす

Jetson nanoでTacotron2を動かしてみます。なお本記事は2019年11月末時点のものです。ツールのバージョンアップ等により、この手順で動かなくなることもありうるので、あらかじめご容赦ください。 Jetson NanoでTacotron2+WaveGlowが動きましたが、実行に約…

Tacotron2を調べてみた3

前回はDecoderの概要部分でしたので、次は中身を見ていきたいと思います。 2.6 decode,2.7 Location Sensitive Attention,2.8 Postnet,2.9 Tacotron2.inferenceの出力。複雑なところは図にまとめました。

Tacotron2を調べてみた2

前回の続きです。誤記、わかりやすくするため、たびたび加筆、修正するかも知れませんが、ご容赦頂きたく。akifukka.hatenablog.com 2.3 Decoderの概要 ここからはmodel.pyのクラスTacotron2のinferenceの次の文の中身になります。Decoderはちょっと入り組ん…

Tacotron2を調べてみた1

以前Colaboratoryで試して、英語の音声合成ができることはわかったので、日本語を目標にまずはtacotron2の中身を解説してみます。Googleの論文とNVIDIA実装を中心に見ていきます。 過去にColaboratoryで試した時の記事akifukka.hatenablog.com GoogleのTacot…

ランニングことはじめ2

この記事は2019年秋現在です。 今回は、今実際に使っているものを中心にランニングに便利なグッヅを紹介します。ちなみに、毎週土曜は21km、日曜は10kmと、週2回のペースでランニングしています。 1.シューズ 何はともあれこれでしょう。前回も書いた通り…

音声合成を試す2

少し解説を。(1)メル スペクトログラム(2)発声の仕組み(3)耳での音の周波数成分分解(4)声帯の発生音周波数と声道(喉、口)の共鳴スペクトラム(5)ケプストラム python用ライブラリlibrosaを使って音声の周波数解析も試してみます。

音声合成を試す1 Tacotron2 + WaveGlow

ディープラーニングによって音声合成も目覚ましく進歩しているようです。 2019年4月に発表されたマイクロソフトAIりんなの歌の完成度は非常に高く、人と区別つきません。まだ、誰もが使える技術ではありませんが、いつかは誰もがつかえるようになるでしょう…

ランニングことはじめ1

2018年の春にランニングを始め、1年半ほどになります。先月になってやっとハーフ21kmを走り切ることができるようになり、今は土曜ニ21km、日曜は5kmか10kmを走っています。 これからランニングを始めようと思っている方に多少なりとも参考になれば思い、走り…

SingleShotPoseをYOLOv2-Tinyベースにして高速化を試みる2

前回の記事の続きです。Colaboratoryで改造したネットワーク構造でSingleShotPoseを学習させ、動かしてみます。最後にJetson Nanoでも動かしてみました。計算時間の短縮と引き換えに精度が下がってしまいました。

SingleShotPoseをYOLOv2-Tinyベースにして高速化を試みる1

高速化のためSingleShotPoseのネットワーク構造をYOLOv2ベースからYOLOv2-Tinyに変更して学習させてみます。この記事は前の記事でGoogleドライブにSingleShotPoseがダウンロード済みであることを前提に書かれています。

SingleShotPoseをColaboratoryで動かしてみた

SingleShotPoseをColaboratoryで動かしてみます。本記事の手順は2019年11月のものです。scipyのバージョンアップのため若干修正して動かすことができました。

多摩川ランニング 2019年11月4日

多摩川サイクリングロードをランニングしてきました。涼しい中、気持ちのいい天気でごきげんでしたが、おかげで筋肉痛ぎみです。往復約21kmで約2時間ほどのコースです。写真でコースを紹介します。

Jetson NanoでSingleShotPoseを動かす

SingleShotPoseはMicrosoftが開発した対象物の姿勢を画像から推定するネットワークです。ネットワークの構造はYOLOをヒントに開発されたとあって良く似た構造です。極端に大きなネットワークでは無いのでJetson Nanoで試しに動かしてみます。

YOLOv3-tinyで学習してみた3(学習結果を使ってJetson Nanoで動かす)

学習したweightsでJetson Nano,DeepstreamでYolov3-tinyを動かし駐車禁止を検出してみます。クラスが1つということもあり、うまく検出できたと思います。一通りの手順を経験して、思ったより簡単にできることがわかりました。

YOLOv3-tinyで学習してみた2(パソコン作業、アノテーション続きから学習まで)

3回記事の2回目です。前回準備した学習用データを使ってGoogle Colaboratoryで学習させました。駐車禁止の標識を学習させます。

YOLOv3-tinyで学習してみた1(パソコン作業、アノテーションまで)

YOLOv3-tinyを学習させてみます。Google Colaboratoryを使用します。初回(3回記事です)はColaboratoryの準備、アノテーションツールVOTTのインストール、学習データの準備、アノテーションまでを行います。