Stimulator

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

スクリプト

Rustによるlindera、neologd、fasttext、XGBoostを用いたテキスト分類

- はじめに - RustでNLP、機械学習どこまでできるのか試した時のメモ。Pythonどこまで脱却できるのか見るのも兼ねて。コードは以下に全部置いてある。 GitHub - vaaaaanquish/rust-text-analysis: rust-text-analysis - はじめに - - 形態素解析 - neologd l…

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

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

Rustでterminalのwindow sizeを取得する

はじめに RustでCLIツールを作る際にターミナル等のwindow size変更に応じて表示を変更したい場合がある。その際に画面サイズの取得について調査したログ。 はじめに 画面サイズの取得 調査ログ 画面サイズの取得 画面サイズの取得には、libcのioctlを利用し…

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オブジ…

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を最小限のコード変更で分…

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

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

複数ノード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…

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

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

Pythonモジュールの遅延import

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

PythonでHatenaブックマークのホットエントリを取得して表示する

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 25日目最終日の記事です。本記事では、PythonスクリプトでHatenaブックマークのホットエントリのリストを取得、xonshへ表示する内容を記載します。追記:2018/11/23 ptk 2.xでは、本記事のコー…

Python Prompt Toolkitで対話的な選択コマンドを作る

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 23日目の記事です。遅れ気味ですが、Python Prompt Toolkit (以下、ptk)を利用して、対話型のセレクタ(上下矢印で回答を選択できるやつ)を作りたいなと思います。名前が分からないんですが、se…

xonshのCore Eventsまとめ

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 16日目の記事です。前日のxonshのExceptionを見やすくする記事で手こずって遅れ気味です。本記事では、Xonshの大事なCore Eventsについてまとめます。 アジェンダ - はじめに - - xonshのCore …

XonshのException発生時のtracebackを見やすくする

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 15日目の記事です。完全に遅刻しています。3日間xonsh本家のコードを読みながら「あーでもないこーでもない」とやっており遅れました。結論を先に述べてから、後半でその経緯も話します。 Xont…

PythonのException発生時のTracebackを綺麗に見る

- はじめに - PythonでOSSパッケージ等を利用していると、Exceptionが発生した際に表示されるTraceback(正確にはスタックトレース)がかなり長い場合がある。例えば、以下の簡易なコード実行で表示されるTracebackの行数は30近くなる。 import pandas as pd d…

xonshの過去のコマンド履歴を可視化する

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiitaの6日目の記事です。せっかくxonshではMatplotlibが使えたりするので、Command履歴の分析等の補助をする関数を書いてメモしておきたいと思います。 - xonshのhistory - xonshの過去の入力履歴は…

Xonshでmatplotlibグラフをコンソールにインライン描画してメモリ状況を観察する

- はじめに - この記事はXonsh Advent Calendar 2017 4日目の記事です。Xonshの中にはxontribというメソッド群が存在します。 その中のmplhooksは、画像の描画をサポートしてくれます。本記事では以下について記述します xontrib.mplhooksを利用したxonshコ…

Webスクレイピングする際のルールとPythonによる規約の読み込み

- はじめに - この記事は Webスクレイピング Advent Calendar 2017 - Adventar の1日目の記事です。近年では、Pythonが様々な場面で使われるようになりました。 Webからデータを取ってくる際のスクリプトとして利用し、そのままデータを機械学習における学習…

Pythonistaに贈るXonshのススメ

- はじめに - この記事は Xonsh Advent Calendar 2017 1日目 の記事です。タイトルが煽りです。なんとなく贈るという単語が12月っぽいです。内容は、Pythonで動くShellである「xonsh」の勧めを書く記事です。 追記2018/06/25:xonshの設定に関する記事を書き…

GASでGithubの自分関連のReviewer情報を定期的にSlackにPostする

- はじめに - GithubのPull Requestを大体1日以内に処理するルールだったのだが、Repositoryが増えて全然管理できなくなったりしたので、Reviewerに入っていてApprovedしてないものだけSlackに通知しようとこねくり回したGoogle Apps Script。Lambdaとかを使…

Janetterの他者紹介とRT後のツイート確認拡張プラグイン

- はじめに - PC版Twitterクライアントで一番すきなJanetterのプラグインを公開する話他者紹介とリツイート直後のツイートを表示するやつに飛ぶやつ - 他者紹介 - 以前記事を書いたけど、共有方法をGithubに変更したので該当記事を削除して再掲載。相手の名…