Connect to learn more

You'll be able to see their introduction and other information once they have accepted your connection request.

  • 【社外活動】PEP Map 〜 PEP (Python Enhancement Proposal)の参照関係ネットワークを可視化するプロジェクト

    ▼Keyword Python, NetworkX, Bokeh, Network Analytics, PEP ▼ What? (これは何?)  Pythonの重要な公式技術ドキュメントのひとつであるPEP(Python Enhancement Proposal)同士の参照関係を可視化するWebページです。  ① あるPEPが、他のどのPEPにリンクをしているか  ② あるPEPが、他のどのPEPからリンクされているか を、インタラクティブに可視化しています。  「Timeline」と「Network」の2つの方法で可視化しており、「Timeline」では1hop内のPEPを年表形式で、「Network」では480以上ある全てのPEPのネットワークを表示しています。 ▼ Why? (何故作った?)  私がPythonを学ぶ上で、技術の一次情報(PEP)を読むときの「地図」のようなものが欲しかったからです。  初級者が中級者にステップアップする上では、どこかの誰かがまとめた二次情報ではなく、「一次情報(公式ドキュメントや論文など)を自力で噛み砕いて読む経験」が必要だと考えています。とはいえ難解で膨大な技術情報を、初学者が無策のまま読むのは大変です。  膨大な一次情報を心折れずに読むにはどうすればよいでしょうか? アプローチのひとつとして、「まずは全体像をざっくり把握してから、徐々に詳細を把握する」という方法が考えられます。書籍であれば「目次に目を通す」というやり方です。しかし、PEPには階層構造を持つ目次がありません(PEP 0は目次に相当しますが、全てのPEPが並列に並んでいます)。その代わり、PEPとPEPの間には「リンク」、つまり参照・被参照の関係があるーーつまり、階層構造ではなくネットワーク構造を持つドキュメント群です。  「リンクがあるPEP同士は何らかの関係がある」 と推測できることから、PEP同士の参照関係を可視化することで「PEP全体の構造を俯瞰できる = PEPの地図になる」のではないかと考え、開発を行いました。 ▼ How? (どうやって作った?) 【データ取得・整形】BeautifulSoup4, pandas 【グラフ構造化】NetworkX 【可視化】Bokeh ・可能な限り楽に運用したい(サーバ無しでWeb上で公開したい) ・ノード数がたかだか数百程度で、そこまで大規模なグラフにはならない 上記理由により、BokehでHTMLを生成し、GitHub Pagesで公開する方法を取っています。 ▼ 資料 【PyConJP 2018】 https://bit.ly/2O4I7kw 【CodeZine記事】https://codezine.jp/article/detail/11031 【GitHub】https://github.com/komo-fr/pep_map_site ▼OSS活動 NetworkXとBokehの連携はまだ発展途上段階なので、必要に応じてOSS本体にpull requestを送っています。 ・【Bokeh】issue #8183 (https://github.com/bokeh/bokeh/issues/8183) NetworkXからBokehに変換する時、ノードとエッジの属性が引き継がれるよう改善 ・【Bokeh】issue #8311 (https://github.com/bokeh/bokeh/issues/8311) NetworkXからBokehへの変換で、固定レイアウトを扱えるよう改善

  • 【社外活動】 暮らしを診る眼 OheyaObeya 〜 AIで汚部屋を何とかするPJ

    ▼Keyword Hackathon, Deep Learning, Keras, Image Classification, Object Detection, Azure, Slack, GitHub ▼ 担当 ・チームリーダー ・アイデア原案 / 深層学習モデル構築(画像認識・物体検出) / Web API化 / データ収集 / プレゼン資料作成 / Slack連携 / デモ動画用GUIツール作成 他 ▼ What? (これは何?) AI(画像認識&物体検出)で部屋の状況を判断し、一定期間「汚部屋」の状態が続いたら通知(アラート音やSlackへの通知)を行うアプリケーションです。元はハッカソンの成果物で、データ収集・深層学習モデル構築・WebAPI化までスクラッチで開発しました。ハッカソン終了後も私が継続的に開発に取り組んでおり、現在定常運用化とモデルの改善を進めています。 ▼ Why? (何故作った?)  「部屋の乱れは心の乱れ」という言葉もあるように、ストレスなどで心身に不調が生じると、自分では疲れている自覚がなくても、知らず知らずのうちに「部屋が荒れる(日常のちょっとした片付けができなくなる)」ことがあります。また病気や障害には、うつ病や認知症など「部屋が片付けられなくなる」という変化が初期症状として現れるものもあります。そのため「体を診る」のではなく「暮らし(=日常の部屋の画像)を診る」ことで心身の不調に気づきやすくする、というアプローチを考えました。  「部屋を片付ける」という行為には、「① 今が片付けるべき状態だと認識する」「② 片付けというタスクを、最後まで遂行する」という2ステップが必要です。OheyaObeyaはAIで部屋の状況を判断し(①認識をサポート)、一定期間汚部屋状態が続いたら通知やアラーム音を出す(②遂行をサポート)ことで、暮らしの乱れを検知・改善します。 ▼ How? (どうやって作った?) 現時点では、部屋全体ではなく「机の上」に問題を限定してプロトタイプを作成しています。 【画像データ】 自前で用意した机の上の画像 【画像認識】 ライブラリ: Keras, モデルの構造: MobileNet 【物体検出】 Azure Custom Vision Service(現在MobileNet-SSDへの移行を検討中) 【学習環境】 Azure Deep Learning VM 【デモ用GUIツール】 Python / OpenCV / pygameなど 実現方法の詳細については、下記資料をご参照ください。 ▼ 資料 【ハッカソンプレゼン資料】 https://bit.ly/2Y6K3eH Appendixに使った技術・参考文献の一覧をまとめています。 【展示用サマリ】 https://bit.ly/2FsZ5D5 2ページの要約です。 【デモ動画】https://youtu.be/Pub1_Nes1tM 機能の一部(画像認識)を紹介した動画です。注: 音が鳴ります。 【GitHub】 https://github.com/OheyaObeya 一部非公開のコードもありますが、コードが整理出来次第、追加しています。

Ambition

Please log in to see more.

未来

Experience and education

Please log in to see more.


Skills

  • NetworkX

    0
  • pandas

    0
  • pytest

    0
  • Python

    0
  • keras

    0
  • scikit-learn, Git / GitHub, 【ストレングスファインダーTOP5】1.着想、2.内省、3.収集心、4.慎重さ、5.戦略性 and 1 skills

Accomplishments / Portfolio

Keep up to date with your connections on the Wantedly People App.