タグ

ブックマーク / qiita.com/yukiB (5)

  • [Python]強化学習(DQN)を実装しながらKerasに慣れる - Qiita

    はじめに この記事はいまさらながらに強化学習(DQN)の実装をKerasを使って進めつつ,目的関数のカスタマイズやoptimizerの追加,複数入力など,ちょっとアルゴリズムに手を加えようとした時にハマった点を備忘録として残したものです.そのため,DQNの解説記事というよりも初心者向けKerasTipsになります. 実行環境 Python3.5.2 Keras 1.2.1 tensorflow 0.12.1 DQNとは DQN(DeepQNetwork)がDeepMindから発表されて2年以上経つので,もはやいたる所に解説記事や実装サンプルがあり,ここでの詳しい解説は不要だと思います.が,ざっくり言うと,Q-Learningという強化学習手法のQ関数部分を,深層学習により近似することで、動画像から直接Q値を推定することを可能にした学習手法です. DQNの理論としては ゼロからDeepまで学

    [Python]強化学習(DQN)を実装しながらKerasに慣れる - Qiita
    peketamin
    peketamin 2020/07/16
  • [Python] SQLAlchemyを頑張って高速化 - Qiita

    はじめに pythonからMySQLを叩く際,何を使っていますか?SQLAlchemy,Django,peeweeあたりを使っている方が多いのではないでしょうか.私は色々使ってみて結局SQLAlchemyに落ち着いていますが,何千万,何億オーダのデータになると処理が遅く非常にやっかいです. なので今回は(大きなデータにsql使うなとか高速処理にpython使うなという話は一旦置いておいて),SQLAlchemyを使ったデータ処理をいかに高速にするか,何項目かに分けて備忘録を残しておきます. SQLAlchemyを~と書いてありますが,SQLAlchemyを使ってDBにデータをINSERT,SELECTする際のpython高速化TIPSごった煮です.当は記事を分けたほうが良いのですが,自分で見返す際にまとまっているほうが嬉しいのでこうしました. なお,今回使用するコードは全てgithub

    [Python] SQLAlchemyを頑張って高速化 - Qiita
    peketamin
    peketamin 2019/05/28
  • 【Python】QRNNでカオス時系列データ予測【Keras】 - Qiita

    はじめに 以前,KerasやTensorFlowを用いたRNN(LSTM)による時系列データ予測の導入記事を書いたのですが,予測対象が単純なsin波だったため,リカレントなネットワークの効果を実感できずに終わってしまっていました.また,その記事を書いた後あたりにCNNを活用して計算処理の並列化を進め,LSTMよりも高速な学習を行うQRNNが発表されたため,今回はもう少し複雑な時系列情報に対してQRNNの効果を試しつつ,CNNやRNNとの効果の違いをみてみます. なお,備忘録としてざっくりとしたQRNNの解説を載せていますが,より詳しく,わかりやすい以下のような解説が多数あげられていますので,詳細等が気になる方はそちらをご覧ください. 参考文献 QRNNでLSTM(深層学習を用いた時系列分析)をスピードアップ(次世代システム研究室様) Quasi-Recurrent Neural Netwo

    【Python】QRNNでカオス時系列データ予測【Keras】 - Qiita
    peketamin
    peketamin 2017/11/21
  • Python並列処理(multiprocessingとJoblib) - Qiita

    はじめに Python並列処理で検索するとまずでてくるのがmultiprocessingかJoblibです. 両者とも様々に解説記事が上がっていますが,multiprocessingよりもJoblibの方が, 並列化する関数に引数に配列以外の形が取れる Ctrl+cで終了した時に子プロセスも終了してくれる 自動で全体の進捗を表示してくれるオプションがある 等々便利な機能が多いため,普段はそちらを使っていました. ただ,ひょんなことからmultiprocessingを使う機会があり,両者の速度を比較してみたところ,理由はわからなかったのですがmultiprocessingでの並列化の方が速かったため,備忘録を残しておきます. 実行環境 Ubuntu 16.04.1 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz 仮想8コア、物理4コア Python 3.5.

    Python並列処理(multiprocessingとJoblib) - Qiita
    peketamin
    peketamin 2017/07/22
  • JavaScript(ES6)で辞書内包表記 - Qiita

    >>> {i: i * 2 for i in range(10)} {0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18} で一発です. JavaScriptで実現しようとした場合,mapやfilterを使用してリスト内包表記を実現できることは知っていたのですが,辞書内包表記の書き方を知ることができたので,備忘録を残しておきます. JavaScript(ES6)でリスト内包表記 辞書内包表記の前にリスト内包表記の確認をしておくと,上記の例では

    JavaScript(ES6)で辞書内包表記 - Qiita
    peketamin
    peketamin 2017/06/27
  • 1