Morikatron Engineer Blog

モリカトロン開発者ブログ

ホットサンドメーカーを買いました

暑いんだか涼しいんだか分からない毎日が続いておりますが、皆様いかがお過ごしでしょうか。
食べ物のお話担当、モリカトロンの大里です。

前回の更新でネタが尽きたら小麦粉の話でもするか、と思っていましたが、キャンプ大好き上司たちの話を聞いているうちにネタがふってきました。そう、タイトルにあるとおり「ホットサンドメーカー」です。

最近はお家でできるキャンプやら、ホットサンドメーカーで作るレシピも話題になってます。なので周回遅れだとは思いつつも、自分が買った時に気をつけたポイントをお伝えいたします。

  • どこで使うか?
  • 直火式だとしても、IH対応か?
  • ちゃんとパン同士が圧着できるか?
  • サンドイッチ以外も焼きたい!
  • 内側で分割できたり1枚で焼いたり
  • コンパクトにしまいたい!
  • そういえば、トースターで使うやつって?
  • 結論(ではない)
続きを読む

Pythonと音楽と...(1)音を鳴らす

モリカトロンのチーフエンジニア松原です、こんにちは!
今回から「Pythonと音楽と...」と題して連載します(全部で四回くらいの予定)。第一回は「音を鳴らす」。音のデータ化や録音・再生の仕組みから、Pythonで指定した周波数の音を発音するところまで、となります。Pythonで音を鳴らしたい人、Pythonでメロディを再生したい人、PythonでMIDIを扱ってみたい人などが対象読者です。どうぞよろしくお願いします。

  • そもそも音ってなんなの?
  • Pythonで音を出すには
  • サイン波を作って鳴らしてみる
    • sample1_play_file.py
  • メモリ上の音を直接鳴らす
    • sample2_play_buf.py
  • 今後の予定
  • 参考にさせていただいたサイト(ありがとうございます)
続きを読む

WebSocket を TCP の代わりに使ってみる

どうも、モリカトロンでプログラマおじさんをしている岡島です。

現在 TCP を使ってプロセス間の通信を行っているのですが、同一のマシンで沢山のプロセスと通信しようとすると空いているポート番号がたくさん必要になるし、 ネットワーク上の複数の機器を使って分散処理をしようとするとポート開放をしないといけない……と悩むことが多くなってきました。 そこで TCP の代わりに WebSocket を使えないないかを検討しています。

ということで、今回は Python ですでに TCP を使って通信をしているプログラムを出来るだけ少ない変更で WebSocket に置き換えられないかというお話です。

  • TCP 通信をしていて困ってること
  • TCP の代わりとして見る WebSocket
  • TCP を WebSocket に置き換えてみる
    • Python で使える WebSocket
    • asyncio?
    • 簡単な TCP 通信のプログラムを Websocket に置き換えてみる
      • tcp_server.py
      • tcp_client.py
      • ws_server.py
      • ws_client.py
    • 同一機器から複数接続してみる
      • ws_client_multithread.py (これは正しく動かない)
      • asyncio.get_event_loop() はサブスレッドから呼び出せない
      • 正しく動く ws_client_multithread.py
  • 最後に
続きを読む

お取り寄せタレ・ドレッシング

梅雨も本格的になり湿度と暑さが迫りくる日々ですが、皆さまいかがお過ごしでしょうか。
食べ物の話題担当、モリカトロンの大里です。

今回も引き続きお取り寄せのお話をいたします。
といってもおやつがもう限界なので、ご紹介するのは液体です。タレやドレッシングですね。

  • その1:フォロドレッシング
  • その2:ピエトロのドレッシング
  • その3:味付ぽん酢柚子 君がいないと困る
  • その4:雪国仕立て辛みそ胡麻ソース
続きを読む

神様のゲーム#8

「体の中の警察」

FPSやRPGでのお楽しみの1つに、武器や装備のカスタマイズがある。
同じ武器でも装着する弾薬の種類を替えることができれば、武器の種類x弾薬の種類だけのバリエーションが生まれる。
装備にしてもしかり。武器を2つ持てるとすると、(武器の種類x弾薬)x(武器の種類x弾薬)だけのバリエーションが生まれる。
武器が5種類、弾薬が10種類だけでも、武器2つ持ちで単純計算で(5x10)x(5x10)=2,500パターンとなる。どういう組み合わせにしようかと十分に悩める(楽しめる)。
プレイヤーがうれしいだけじゃなく、作り手もうれしい。用意するのは、武器が5種類、弾薬が10種類、計15アイテムだけだからだ。ウインウインの仕様である。

続きを読む

幻想的な旅:自分のマンモスを復活しました・パート2

こんにちは!マルタンです。

彫刻:AIはこれができる?

人工知能(AI)は人間の芸術家や意志を置き換える、または私たちに創造性の新しい視点を示していますか?

AI生成およびAI対応のビジュアルアートワークに関しては、2D画像フィールドでは、過去数年間に多くの作業が行われています。その間、伝統的に彫刻のフィールドに属していた3Dオブジェクトのフィールドでの探索はほとんど無かったです

去年ある研究ではいくつの重要な改善をしました。

https://arxiv.org/pdf/1908.07587.pdf 

Developing Creative AI to Generate Sculptural Objects

機械学習を使って、二つの違うアルゴリズム「Amalgamated DeepDream (ADD)とPartitioned DeepDream (PDD)」でAIが彫刻を作れるようになりました。モデルは創造的な点群を生成することを学びます。 次に、これらの点群からメッシュが作成されます。

続きを読む

【Tensorflow2】強化学習アルゴリズムPPOを実装してみる【CartPole】

どうもこんにちは。エンジニアの竹内です。
強化学習、とりわけ方策や価値関数をニューラルネットによって近似する深層強化学習と呼ばれるものにはDQNを始めとして実に様々な手法が存在します。
今回はその中でもDQNと並んで割とポピュラーなProximal Policy Optimization(PPO)について解説しつつ、Tensorflow2を使って実際に実装していこうかと思います。
若干古いアルゴリズムですが、扱いやすく性能も良いので「これから強化学習を始めようと思うけど、手法が多すぎてなにから手をつければ良いかわからない」「そこそこ性能が良くて実装が簡単な手法を知りたい」といった方の参考になれば幸いです。

  • PPOとは
    • ニューラルネットと目的関数
      • ①方策
      • ②状態価値
      • ③エントロピー項
    • GAE
  • PPOの実績
    • Unity Obstacle Tower
    • OpenAI Retro Contest
    • Animal AI Olympics
    • OpenAI Five
    • Unity ML-Agents
  • 実装
    • メイン部分
    • メモリー
    • GAEの計算
    • 損失の計算
    • 各種パラメータ
  • 結果
  • 参考にした資料・サイト
続きを読む