Double DQNの実装に必要になるちょっとした計算についてメモ 2つの2次元tensor x, yを用意し、"xの各行において最大の値を持つ要素"と同じ位置にあるyの要素を取得する >>> x = torch.rand(3,5) >>> x tensor([[ 0.0778, 0.6633, 0.4953, 0.1461, 0.4691],…
強化学習の性能を改善する方法の一つであるdueling networkについて調べたのでメモ。まず参考にしたのはこちらのqiitaの記事 【深層強化学習】Dueling Network 実装・解説 詳細な部分についてはこちらの論文を参考にした [1511.06581] Dueling Network Archi…
以前迷路の学習を方策勾配法でやってみて、それをこちらにまとめた 方策勾配法とニューラルネットワークで迷路を学習 - MEMOcho- これと同じ方法をgym-retroに適用してソニックの学習を試してみた。ちなみに先に結果を書いておくと、スコアをちゃんと取れる…
OpenAI Retro Contestの環境構築そのものは既にまとめてくれている方がいて、大変わかりやすかった。この通りにやったら簡単にGym Retro Integrationを動かすことができた。ありがとうございます。 OpenAI Retro Contestの「Gym Retro Integration」でソニッ…
DQNで実装したものはネット上でよく見かけるが方策勾配法を使ったものは意外と見つからないのでやってみた。 題材はこちら 第5回 ⽅策勾配法で迷路を攻略|Tech Book Zone Manatee 私はこの連載で強化学習の基本的な実装方法を学んだがとてもわかりやすかっ…
タイトルに書いたエラーが出たのでわかったことをメモ とりあえず解決に最も有用だった情報はこれ Leaf variable has been moved into the graph interior - autograd - PyTorch Forums 生成したtensorの要素を直に書き換える処理をした上で、backwardを行う…
cocos2dxで開発している際、タイトルのようなことがあったので原因を調査。 ちなみにiosはxcodebuild、androidはgradleでビルドしていた。 iosとandroidのビルド結果を見比べると、iosのビルド時には以下のようなビルドオプションがついていることがわかった…
コンフリクト解消をしそこねて>>>>>>みたいなマーカーがそのまま上がってしまってる場合がある。以下に紹介されているようにhookを書いてがマーカーが含まれていればcommitをキャンセルすることで回避できる。 [Git]コンフリクトをよりスマートに解消したい…
vectorから特定の条件でフィルターをかけて要素を削除するにはerase-removeというイディオムがある。std::remove_ifで条件に当てはまる要素を後ろに移動させ、返り値のiteratorから元のvectorの最後尾までをeraseにかける、というもの。 cf. std::remove_if…
photonとの接続が切断されたことを検知する方法を調べたのでメモ 公式のドキュメントはこちら https://doc.photonengine.com/ja-jp/realtime/current/reference/analyzing-disconnects photonのサーバとクライアントはheartbeatのメッセージを投げあって、接…
c+11で書いていてクラス内のメンバの中に、コンストラクタで初期化子が定義されてないものがあったのでどのような挙動になるのか調べてみた。 これらを見るとわかりやすい C++11: Syntax and Feature C++の初期化は分かりにくい - ぷろみん まず、staticが付…
ADAを保持するためdaedalus walletをinstallしたが、起動してすぐにネットワーク接続中のまま動かなくなってしまった。何の設定もしてない状態なのでとりあえず再インストールもためしてみたが効果なし。 なのでググってみるとそういう事例はたくさんあるよ…
最近漢字ナンクロをよく解いたのだが、問題が大きくなってくると熟語を考えるより数字を探す時間の方が長くなってしまい面倒だった。それを解消するためこちらのようなツールを作った。 https://y-kamiya.github.io/nankuro-editor/public/ 使い方 repo上にe…
cpuminerでマイニングするためminerdをビルド。その際ごちゃごちゃさせたくなかったのでdockerのコンテナでやったのでメモ。ちなみにビルドしたのは最近話題になっているbitzeny用のcpuminer。 このqiitaの通りで問題なく苦労するとこはなかった。 https://q…
仮想通貨であるrippleで用いられるコンセンサスアルゴリズムについて、white paperを読んでみたのでわかったことをメモ。 まとめ ビザンチン将軍問題への耐性のあるアルゴリズム 20%のfaultがいてもコンセンサスを得られる(非同期の環境で) 有限時間のうち…
c++のコーディングをした際、クラスやいくつかの関数に飛べないことに気づいた。 調べてみるとどうやら*.hに書いたものだけが当てはまる模様。 $ ctags --list-map | grep c++ C++ *.c++ *.cc *.cp *.cpp *.cxx *.h++ *.hh *.hp *.hpp *.hxx ということでc++…
例えばlabelの先頭にiconをつけたい場合、 labelの子要素としてimageをおいてpositionを調整しておけば、label側の文字数が変わろうともその先頭にiconをつけることができる。 私はこの挙動を最初理解できなかったのだが、以下のブログを見て間違っている点…
以下のようなデータからsqliteのcreate table時に必要なカラム名と型名のリストを抽出したい data.csvとしておく columnA,columnB,columnC,... INT,INT,INT,... 1,2,3,... 11,22,33,... ... 抽出したいのはこれ columnA INT, columnB INT, columnC INT, ... …
exec('ls | head -n1") phpでこのようにしたら以下のエラーが出た write error: Broken pipe ただし処理自体は正しくできているようで、エラーが出るだけのよう bashで同じように実行しても特にエラーは出ない ググってみるとこんなのがヒット https://stack…
xcodeをupdateした後、runした際にタイトルのようなエラーが出たのでメモ エラーメッセージを見るとxcodeが対象のiphoneのOSをversionをサポートしてないということのよう。 Xcode.appの下にあるDeviceSupportに使いたいOSのversionが含まれていないとこうな…
touch bar付きのmacbookproは電源ボタンを押してもsleepしてくれない。 左上のメニューからsleepを選べば当然問題ないがもっと手間を省きたいためショートカットする方法を調べてみた。 ググったら簡単にみつかった 20 tips & tricks for the new MacBook Pr…
yampaについて調べていると単純なswitchについての説明はいくつか見つかるのだが、pSwitchについてはなかなか見つからなかったのでわかったことをメモしておく。 こちらのブログとhaskanoidのソースコードを参考にした。 http://bitterharvest.hatenablog.co…
vim awesomeというpluginを集めたサイトを見つけた。現在15,000くらいのpluginを掲載しているようで、使っているユーザの多い順にランキングされている。 vimawesome.com 使っているユーザの判定はgithub上でdotfilesとして公開されている設定ファイルから、…
surround.vimはカッコやクォートなどのペアを消したり置換したりできるコマンドを加えるplugin。ダブルクォートになっているものをシングルクォートにしたいことなどよくあるので便利。 複数箇所に同じ置換を行いたい場合、少数ならドットコマンドで繰り返し…
syntasticを使っていると大きなファイルでsyntax checkなどするとしばらく応答が返らないことがよくある。neovimには非同期でjobを実行する機能があり、それを活かしたpluginとしてNeomakeというsyntasticと同様の機能をもつものがあることを知ったので使っ…
特定のファイルにコマンドの出力を書き出したいときはこれ !をつけることで新規のファイルでも書き込める :redir! > file :echo 'aaa' :redir end これでaaaという文字列がfileに書かれる ちなみにredirはrediと省略して書ける また、rediはredirectの略 フ…
reactを触ってみた せっかくなので新しい形で使いたくes6の形にしたら、reactの元の書き方では動かないところがあったのでメモしておく 1. getInitialState # es6以前 var Component = React.createClass({ getInitialState: function() { return {data: []}…
mac上でskimageを入れた際にエラーになったのでメモ pyenvにてinstallしたpython3.5にて、pipで入れたskimageによって画像を出力しようとした際エラーになった 発生したエラーはこちら >from skimage import io >image = io.imread('example.png') >io.imsho…
vimでnon-greedyなマッチを行うために正規表現を調べたのでメモ non-greedyなマッチを使いたい場合のusecase 以下の行でクォーテーション毎にそれぞれマッチしたい場合 'hoge', 'fuga' アスタリスクを使って書くと行頭から行末まで全体にマッチしてしまう # …
dynamoDBはstorage sizeとthroughputが大きくなるにつれてpartitonを増やしていく その際の挙動について調べたのでメモpartitionとprimary keyの関係について Partitions and Data Distribution - Amazon DynamoDBpartition分割時の挙動について Guidelines …