Stimulator

機械学習とか好きな技術話とかエンジニア的な話とかを書く

Python

mambaやripのinstallが何故早いのか調べたメモ

- はじめに - 最近、PythonのパッケージインストーラーであるpipをRustで書き直したripというツールが公開された。github.comripのREADME.mdには、flaskを題材に依存解決とインストールが1秒で終わるようなgifが貼られている。この速さは一体どこから来てい…

pipとpipenvとpoetryの技術的・歴史的背景とその展望

- はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれ…

機械学習パイプライン構築を楽にするgokart-pipelinerを作った

- はじめに - luigi、gokartで作ったtaskのパイプライン構築をちょっと楽にする(かもしれない)管理するためのツールを作った。github.com近年、MLOpsの一部である機械学習のためのパイプラインを構築するためのツールは飽和状態にあるけどそれらと比較して…

「実用的でないPythonプログラミング」がよかった

はじめに 2020/8/12に発売されたImpractical Python Projects: Playful Programming Activities to Make You Smarterの日本語訳書である、「実用的でないPythonプログラミング」をひょんな事から献本していただく事になった。(訳者が同僚である) 実用的で…

poetryを利用した動的なバージョン管理とGitHub ActionsによるPyPIへのrelease

はじめに この記事を読んで出来る事 poetryによる外部モジュールバージョン管理 poetry-dynamic-versioningによる動的なバージョン付与 GitHub Actionsを利用したPython周りの基本的なCI/CD設定 GitHubのReleaseタグ付与をTriggerとしたPyPIへのアップロード…

機械学習モデリングの広辞苑的書籍「Kaggleで勝つデータ分析の技術」が良かったので筆者に媚を売る

- はじめに - 当ブログでは恒例になっている、献本されたので筆者に媚を売るシリーズです。今回は10/9に発売予定の「Kaggleで勝つデータ分析の技術」という書籍なんですが、既に発売前にしてAmazonベストセラー1位。豪華著者陣とKaggleにおいては日本有数の…

xonshのEnvironment Variablesの全て

- はじめに - 以下の記事でxonshのEnvironment Variablesの大体の日本語訳を書いた。xonshrcを書く - Stimulatorしかし、上記の記事は2017年次の物かつ、要約的な記事のため、より詳細に見て開発に以降できるよう本体へのコードや掴みどころをメモした記事を…

python prompt toolkitの紹介と動作を理解するメモ

- はじめに - 本記事はpython prompt toolkit(以下 ptk)の動作を理解するメモです。ptkで出来ること、その概要を書いています。 - はじめに - - ptkとは - ptkで作成されたツール - ptkの描画を理解する - print_formatted_text Application Screenオブジ…

xonsh拡張のxontribをつくる

- はじめに - この記事はxonshのextension的立ち位置であるxontribを自作し、公開するまでの流れのメモです。1年程前に現存していたxontribを紹介する記事を書きましたが、次は作成者側に回ってみようという旨です。 - はじめに - - xontribとは - - cookiec…

フォロワーを管理するためだけのWebアプリを作った

- はじめに - フォロワーも増えてきて大体毎月n*100単位でフォロワーが変動するようになってきて、巷のフォロー管理ツールじゃ全然要求を満たせないので、自作する体でGWに友人と1日ハッカソンみたいなのを開いて勢いだけで作った話。「100万人とかフォロワ…

Pytorchでpretrainモデルを用いた画像向けSiameseNetworkのメモ

- はじめに - NIPS 2016のSiamese Neural Networks for One-shot Image Recognitionを参考に、画像の距離学習を行う。Siamese Networkは、各クラスの画像量にバラつきがあり、一部クラスが数枚しかない学習データでも上手く学習させられるネットワークである…

horovodを用いたPytorchの分散学習

- はじめに - 近年、分散深層学習の研究、ライブラリ開発が盛んに行われている。本記事はuber社が公開しているhorovodを利用した分散CNNのメモである。 - 前提 - horovodとは、バックエンドをOpenMPIとしTensorFlow、Keras、PyTorchを最小限のコード変更で分…

2018年のxonshrc

- はじめに - この記事はXonsh Advent Calendar 2018 - Qiita最終日の記事です。私のxonshrc、業務用のコマンドとか含めると大体1500行くらいあるんでgithubで公開するんじゃなくて一部ずつ切り取ってここで紹介しようかなと思いました。なんか作る時の参考…

Python moduleがない場合に自動でpip installする

- はじめに - この記事は、Xonsh Advent Calendar 2018 - Qiita 10日目の記事です。複数のサーバを業務で利用おり、それぞれのサーバ環境設定のためpythonパッケージもインストールする作業が必要だが、別サーバからpip freezeするほどでもない(ちょっとした…

macOSの通知リストをpython経由で取得しShellに流す

- はじめに - macOSを使っていると、通知(Notifications)に色んな情報が集約される。 メールが来ただのSlackの更新だの、アプリのアップデート等がそれにあたる。 「OS通知を定期的に取得してシェルのbottom barとかに表示してやれば、作業中でも社内チャッ…

ptk1.xから2.xへの変更を選択コマンド実装から学ぶ

- はじめに - この記事は、Xonsh Advent Calendar 2018 - Qiitaの5日目の記事です。 前年度、Xonsh Advent Calendar 2017 - Qiitaにおいて、私は以下のような2つの記事を投稿しています。 Python Prompt Toolkitで対話的な選択コマンドを作る - Stimulator P…

xonshの2018年の歩み

- はじめに - この記事は、Xonsh Advent Calendar 2018 - Qiitaの1日目の記事です。 1日目という事ですので、2018年を振り返ってxonshにどんな動きがあったかの簡単な振り返りです。 私は社内チャットにおいても #xonsh なるxonshの情報を発信する部屋を運用…

LeapMotionでPythonを使ってジェスチャーで家電を操作する

- はじめに - 近年、VRのブームのおかげもあってモーションキャプチャー分野も発展しつつあります。本記事は、お手軽モーションキャプチャー端末であるLeap MotionをPython 3.xから利用し、様々な家電やPC上の操作をジェスチャーで行おうという記事です。都…

複数ノードDockerでChainerMNを動かすためのTips

- はじめに - ChainerMNがついに本家Chainerにマージされました。分散深層学習への本気度が伺えます。github.com 節目という事で、Dockerを利用して複数ノードでChainerMNするために行った事のメモをTips形式で残しておこうという記事です。私は半年くらい前…

PyTorchで学習済みモデルを元に自前画像をtrainしてtestするまで

- はじめに - 最初のステップとなる「学習済みのDeep Learningモデルをpre-train modelとして自分が用意した画像に対して学習」する時のメモ。多分これが一番簡単だと思います。 - はじめに - - 準備 - - pretrainモデルで簡易に学習する - - modelを保存す…

xonshにおけるpexpectを利用した対話コマンド自動化

- はじめに - shellでsshのパスワード入力などの対話行動を自動化するには、expectコマンドを使うのが一般的である。対して、xonshではPythonの記述やパッケージの利用が可能となる。本記事は、pythonを利用しながら筆者が利用しているssh周りのコードを例に…

Python製シェルxonshを半年使った所感や環境設定のまとめ

- はじめに - Pythonにおけるpython-prompt-toolkit(以下ptk)を使って作られたシェルである「xonsh」を同僚にオススメされて、大体半年くらい使ったので設定とかxontribとか所感を晒していく。前半でxonshのメリット、デメリットの概要を記載し、後半に自身…

Pythonでyahoo画像検索した結果をimgcatに流して表示してURLをクリップボードにコピーするやつ

- はじめに - 近年では、チャットツールの発展が睦まじく、グループ内、企業内においてもチャットツールによるコミュニケーションが盛んとなっている。チャットツールでのコミュニケーションにおいて欠かせないのが、画像によるハイコンテクストなやり取りで…

CLI上でtableを綺麗に見たくて各言語のtable表示について調べた

- はじめに - データ分析、機械学習という仕事柄、csvやtsvを見る機会が多い。処理する時は大体はpythonのpandasで読み込んで〜とするのだが、コンソール上で作業する時、どうしても「このcsvなんだっけ…」という事が発生する。 cat hoge.csv | head 等とし…

xonshのPROMPTにdatetimeを表示する

- はじめに - xonshで作業をしているとつい時間を忘れてしまうので、時間を表示してやるメモ。POWERLINEで良くみるやつをxonshrcで実装。 - timeを表示する - コンソール上の右側に表示するにはこんな感じ from time import strftime $RIGHT_PROMPT = lambda…

Qiitaの特定記事やタグ付記事をいいね、ストックしているユーザを見るPythonスクリプト

- はじめに - Qiitaは、プログラミングに関する知識を記録・共有するためのサービスです。Qiitaアカウントには企業情報が紐付いている場合があり、Qiitaの様々な記事から情報を取得し分析する事で「機械学習を記事を多くストックしている勉強熱心な会社はこ…

共同通信と朝日新聞の記事URLを含むツイートを削除するPythonスクリプト

- はじめに - この記事の起点となったのは、2018年1月25日、共同通信が配信した「山中氏、科学誌創刊に深く関与か」というタイトルの記事が、同日午後8時頃「山中所長が給与全額寄付」というタイトルの記事に書き換えられていた件である。下記ツイートの通り…

自動運転シミュレータのCARLAを動かす

- はじめに - Python APIを備えた自動車運転シミュレータである「CARLA: An Open Urban Driving Simulator」を動かすまでの記事です。CARLAはConference on Robot Learning 2017でも発表された、Unreal Engine 4を使ったシミュレータパッケージです。 自動運…

Xonshのconfigを書く

- はじめに - //------------------------ 追記 2018/06/22:以下の通り、config.jsonはサポートされなくなり、xonshrcになりました。 WARNING! old style configuration (/Users/xxx/.config/xonsh/config.json) is no longer supported. Please migrate to…

Pythonモジュールの遅延import

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 18日目の記事です。Pythonのmoduleのloadを実際に利用する前に遅延してやろうというTipsです。加えて、xonshのxonshrcに記載する事で、xonshの起動も早くしようという話を書いています。 アジ…