サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
tech.morikatron.ai
こんにちは、モリカトロンでプログラマおじさんをやってる岡島です。 Python でプログラムを書いていると高速に実行したくなることが多々あると思います。 でも、「とにかく実行速度を最速に!」みたいな人は最初から Python なんて使わないですよね。 ということでプログラムの最適化にあんまり興味のない人が、出来るだけ手間をかけず、そこそこ効果が得られる方法を紹介していこうと思います。 並列処理で高速に処理する Python 標準の並列処理モジュール 処理を並列実行してみる 速度比較 マルチスレッドでの処理がなぜ遅いのか? GIL についてもっと詳しく マルチスレッドに価値はないのか? 実測して確認 マルチプロセスのデメリット プロセスの生成はスレッドよりもオーバヘッドが大きい 速度比較 子プロセスに渡すデータに Pickle 化できないオブジェクトがあってはいけない 結局、どうすればいいの
(2021/2/01/06追記) この記事を書いた当時から Dear PyGui のバージョンが上がり、記事内のコードは最新の Dear PyGui では動かなくなりました。 Ver1.0.0 以降の Dear PyGui 向けに新しい記事を書きましたので、そちらもご参照ください。 Dear PyGui チートシート(Ver.1.1.3 対応版) どうも、モリカトロン株式会社でエンジニアおじさんを営んでいる岡島です。 お仕事でプログラムを書いていると、ときどきGUIアプリケーションを作る必要が出てきてきます。 そういう場合今まではPythonのQtバインディングであるPyQtやPySide(Qt for Python)を使っていたのですが、これらには pip installとは別にQtのインストールが必要(インストールには割と時間がかかる) 高機能で色々なことが出来る反面、覚えないといけな
こんにちは、エンジニアの竹内です。 深層学習を行う際によく利用されるフレームワークといえばGoogleが開発しているTensorflowとFacebookが開発しているPytorchの2大巨頭に加えて、Kerasなどが挙げられるかと思いますが、今回はそのような選択肢の一つとしてGoogleが新しく開発している*1新進気鋭(?)の機械学習フレームワークJAXを紹介したいと思います。 github.com 今回JAXを紹介するきっかけですが、最近話題になったVision Transformerの公式実装のソースコードを読む際に、モデルの実装にJAXが使用されており、少し気になったので勉強がてら触ってみたというのが経緯です。 github.com ディープラーニングのフレームワークの入門といえばMNISTデータセットを使った画像分類ですので、今回はJAXの入門編としてシンプルな多層パーセプトロン
こんにちは、エンジニアの竹内です。 以前の記事でDQNに模倣学習の仕組みを取り入れたDeep Q-Learning from Demonstrationsというアルゴリズムを紹介しましたが、模倣学習には他にもいろいろなアプローチが存在します。 特にエキスパートの行動軌跡から環境の報酬関数を推定する逆強化学習(Inverse Reinforcement Learning)という手法を利用したものは模倣学習アルゴリズムの中でも代表的な手法の1つであり、環境からの報酬が得られない場合でも模倣学習を行う事ができます。 そこで今回は逆強化学習を用いた模倣学習アルゴリズムの中でも特に有用な手法である、敵対的生成ネットワーク(Generative Adversarial Network)を組み合わせたGenerative Adversarial Imitation Learning(GAIL)という手法
こんにちは、エンジニアの竹内です。 これまでの記事ではDQfD、PPOといった深層強化学習のアルゴリズムを紹介してきましたが、今回は少し趣向を変えて、ニューラルネットを使わずに不完全情報ゲームの戦略を求めるアルゴリズムを扱いたいと思います。 不完全情報ゲームのAI KuhnPokerのルール 記号の定義と説明 ナッシュ均衡 Counterfactual Regret Minimization 実装 ゲームのルール部分 CFRアルゴリズム 結果 まとめ References 不完全情報ゲームのAI 不完全情報ゲームとは文字通り、プレイヤーが行動を決定する際に結果を左右する情報の一部が得られないようなゲームのことであり、ポーカーや麻雀、ガイスターなどが該当します。それに対して、ゲームに関する情報がすべて得られるものは完全情報ゲームと呼ばれ、将棋やチェス、囲碁やオセロなどが該当します。 トップレ
こんにちは、モリカトロンでプログラマおじさんをやってる岡島です。 pip install で導入した NumPy と conda install で導入した NumPy とでは内部で使われているライブラリが違い、後者の方が高速だという記事を見つけました。 orizuru.io minus9d.hatenablog.com 要約すると Anaconda と pip では NumPy に使われている数値計算ライブラリが違っている pip が提供する Numpy は OpenBLAS を使っている Anaconda が提供する NumPy は Intel MKL (Math Kernel Library) を使っている 両者を比較すると、Anaconda が提供する NumPy のほうが速い という事みたいです。 今まで僕は Python のパッケージ管理を pip で行ってきましたが、Anac
こんにちは、モリカトロンのAIエンジニア兼オタクの銭です。 皆さんは、アニメを見る時、視覚的に何か他のメディアあるいは欧米のアニメと異質なものを感じたことありませんか。色々あると思いますが、その中コアと考えられるパートーー「作画」について、AI寄りの視点で考察していきたいと思います。 はじめに 作画とは 枚数が少ないがスムーズ 何故スムーズ AIはどう思う 動き分からないがイケる 何故スムーズの再考 AIはどう思う (おまけ)タイミングの質感 何故質感が生まれる AIはどう思う まとめ 参考文献 はじめに 筆者自身の趣味から出発し、AIの観点からアニメというメディアを考察し、アニメ制作におけるAI応用の可能性も検討且つ実験してみようと思い、「AnImator」を題に連載を始めようと思います。 プログラマーにアニメの奥深い面白さを、アニメ関係者にAIの可能性を、伝えたいと思います。 今回のブ
このページを最初にブックマークしてみませんか?
『Morikatron Engineer Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く