自分なりの機械学習エンジニアスキル構成論


機械学習エンジニアとして働き始めて2年7ヶ月が経過した。 機械学習エンジニアというロールは会社によって期待される内容が異なってくるが、今の会社で働いてきた経験に基づき自分の中の機械学習エンジニアスキル構成論を整理してみる。 TL; DR 人によって考える…
Read more ⟶

GitHub codeowners でGithubグループを指定しても反映されない時の対処方法


GitHub の CODEOWNERS という機能を使えば、レポジトリに対するPRでは設定された CODEOWNER がAPPROVEを出さないとマージされないようにできます。 この機能を使うことで、例えばそのリポジトリのオーナーであるグループが必ずPRを確認しないとマージできないようにすること…
Read more ⟶

pandas を使って特定のディレクトリのCSVファイルをすべて連結して一つのCSVファイルを作成


目的 複数の同じフォーマットのCSVファイルが特定のディレクトリに配置されており、そのCSVファイル群を一つのCSVファイルに連結したい 今回は、PythonのPandas とpathlibを使って上記の目的を実現します。 実行環境 In [1]: import pandas as pd In [2]:…
Read more ⟶

MLOps の国際会議 OpML'20 に論文が採択されたので登壇してきた


MLOpsの査読付き国際会議 2020 USENIX Conference on Operational Machine Learning (略称 OpML’20)に論文が採択されたので、登壇してきた。 Podcastでも紹介しました #1 MLOps の国際会議 OpML20 について at just4fun.fm MLOpsの査読付き国際会議とOpMLの立ち位置 機械学習エンジニアリ…
Read more ⟶

Python の内包表記とジェネレータ式のメモリ使用量比較


リストを構築する際にPythonではリスト内包表記とジェネレータ式の2種類が存在する。 今回、リスト構築時にメモリ使用量にどれだけ差異が発生するのか調査をしてみた。 メモリ使用量の調査には、memory_profilerというパッケージを使用し…
Read more ⟶

AOJの「ITP I」40問をpythonで解いた


はじめに コーディングの腕をもっと磨きたいなと思ったので、以下の記事を参考に始めてみた https://qiita.com/e869120/items/f1c6f98364d1443148b3 全部で 44 問ありますが、最後の 4 問は競プロとはあまり関係ないので、ITP1_1-A から ITP1_10-D までの 40 問を解くことをお勧めします。 まずは最初におすすめされた、AO…
Read more ⟶

How to write the UnitTest with stdin at Pytest


If you want to write UnitTest when using stdin in Python. Pytest provide setattr function in monkeypatch from io import StringIO import sys def divide(): input = sys.stdin.readline return list(input()) def gather(): input = sys.stdin.readline return sum(list(map(int, input().split()))) def test_divide(monkeypatch): monkeypatch.setattr('sys.stdin', StringIO('abc')) assert divide() == ['a', 'b', 'c'] def test_gather(monkeypatch): monkeypatch.setattr('sys.stdin', StringIO('1 2 3')) assert gather() == 6 Reference Monkeypatching/mocking modules and environments I want to use stdin in a pytest test https://gist.github.com/GenevieveBuckley/efd16862de9e2fe7adfd2bf2bef93e02 …
Read more ⟶

Machine Learning Casual Talks # 12 を開催しました


Machine Learning Casual Talks 第12回を開催しました。 前回から少し開きがあり、7ヶ月ぶりの開催となりました。 https://mlct.connpass.com/event/172550/ 今回の個人的なテーマはベストプラクティスとアンチパターンです。 @keigohtr さんには、AWSの各種サービスを使った機械学習実験基盤をアベジャの適用事例と重ね合わせて…
Read more ⟶

自走プログラマーを読み終えた


自走プログラマーを読み終えた。 読み始めたきっかけとして、自分は機械学習エンジニアとして現在働いているが、できることの幅を広げるために最近はソフトウェアエンジニアとしてのスキルをもっと伸ばしたいと考えている。 自走プログラマーは、Pythonを…
Read more ⟶

ソフトウェア開発における Upstream と Downstream の意味


Upstream Upstream はそのシステムが依存しているジョブ Upstream のデザインが変わることで、システムも影響をうける Downstream Downstream はそのシステムが影響を与える影響を与える部分 例えば、Web Application などでは、データベースは Downstream となる e.g. Web service→ Databese という流れでデータが作成される Ref https://reflectoring.io/upstream-downstream/…
Read more ⟶