Python

画像にmatplotlibでバウンディングボックスとラベルを追加する

物体検出のテストするときによく画像の上にbounding boxとラベルを表示したくなるんだけど、 毎回同じようなコード書いててめんどくさいのでスクリプトを残しておく。 matplotlibのAnnotations APIを使うと簡単にら別を追加できる。

TensorflowモデルをTFLiteにconvertする方法とconvertツールの比較

カスタムのTensorflowのモデルをTFLiteにconvertしようとしてすごく辛かったのではまりどころを記録していく。 サンプルにあるモデルをtfliteにconvertするのはそんなに難しくないんだが、ちょっと自分で手を加えたモデルをconvertしようとしたらTensorFlow…

Pythonプロジェクトのdocstringの網羅率を計算するパッケージdoc-covをつくった

みんなのdocstring書くモチベーションをあげるために、docstringの網羅率を計算して Pull Requestごとにdocstringの網羅率(coverage)の変化を表示したいな〜と思って調べたんですが、 そういった網羅率を計算するライブラリが見つけられなかったので、自分で…

時間のかかる前処理をDaskで高速化

最近仕事で自然言語処理を使ったモデルを作成していたんですが、 前処理やモデルを作る際に数分〜数十分単位の処理待ちの空き時間が頻繁に発生してしまい、 その度集中力が切れる問題に悩まされていました。 モデルの学習に時間がかかってしまうのはまた別の…

好きな品詞の組み合わせのフレーズを抜き出すPythonパッケージ「negima」を作った

日本語の自然言語処理が絡んだ作業をする際に、 名詞だけ抜き出したい 名詞だけ抜き出したいが、接頭詞の「未」「非」とかもくっつけて抜き出したい 形容詞を抜き出したいが、否定の「ない」もくっつけて抜き出したい みたいに形態素解析をしたあとに形態素…

JupyterNotebookでの技術書執筆環境を作った

本や記事を書く際、markdownやreSTで書くなど色々な書き方があると思う。 実際に何度かちょっとした記事を書いてみて、プログラムのコードを使った説明が多いような文章だと markdownやreSTにコピペするのがめんどくさいなぁというのがあった。 なのでJupyte…

queryとbool型のSeries指定によるDataFrameのからのデータ抽出速度の差【pandas】

pandasで条件を指定して抽出を行うとき、df[df['Age'] < n]とdf.query('Age < @n') で同じことができるけれど、 どれくらい実行時間に差があるか気になったので調べた。 使用データ 使ったデータ: 2000行弱のデータ。 Colon function | R Documentation impo…

ゲームプログラマからデータサイエンティストに転職しました

新卒で入社して2年勤めたゲーム会社を4月末で退職し、 ゲームプログラマーからデータサイエンティストにジョブチェンジしました。 だいぶ違う業界への転職で不安もありますが、大学の研究はデータ解析寄りだったので、 どうにかなるといいな〜という気持ちで…

強くなるためのプログラミング -様々なプログラミングコンテストとそのはじめ方-

みなさんは何のためにプログラミングをしていますか? 仕事のため、何かをつくるため。それも良いけれど、「強くなる」ためにプログラミングしてみませんか。 様々なジャンルのプログラミングコンテストとまだ見ぬライバルたちがあなたを待っています。 今回…

Windowsのパスがうまく指定\表示できない問題 in Python

Mac/Linuxしか触ってなかった人生から一転、毎日Windowsを使うお仕事に就きました。 最近はちょっとしたツールをよく作るのですが、Windowsで1番悩まされてるのは、Windowsのパスが"\"で連結されていることです。 コマンドプロンプトとcygwinでどちらも動か…

py2exeでPythonのスクリプトを実行ファイル(exe)にする【py2exe】

py2exeを使って、pythonのスクリプトをexeファイルにしましょう。 いくつかハマりポイントがあって大変だったのでまとめてみます。複数のハマリポイントではまった理由を追記しました(2017/03/13) Python バージョン: 2.7.10 pyexe バージョン: 0.6.9 python…

プログラマ日本一決定戦 CODE VS4.0 本戦と予選AIのおはなし #codevs

プログラマ日本一決定戦 CODE VS4.0 の本選の観覧に行ってきました。 CODE VS4.0 はゲームAIのコンテスト。 CODE VSとは日本中のプログラマが、 技術を競い合うプログラミングコンテスト 相手の隙を衝くアルゴリズム活用力と、的確なコーディング技術を競い…

CODE THANKS FESTIVAL A日程参加してきた #codefes

CODE THANKS FESTIVALに参加してきました。CODE THANKS FESTIVALは2014/11/8に行われたCODE FESTIVALに参加できなかった人たちのために開催されたオンサイトのプログラミングコンテスト+懇親会です。CODE FESTIVAL2014 | RECRUIT HOLDINGS -リクルートホー…

シンプルなファイルアップローダーをGoogleAppEngineで作る

研究でアンケートとか取るときに、 ファイルアップローダーがほしいことが何度もありました。 (スクショ添付してもらうとかしたい)だけど画像の保存とかデータベースとか意外とめんどくさい・・・。 でもでも、AppEngineを使えばちゃちゃっとファイルアッ…

Pythonではじめる競技プログラミング #pyconjp

PyConJP2014で競技プログラミングについてLTしてきました。 発表で出した問題と、主要な競技プログラミングのコンテストについて紹介したいと思います。 発表資料 発表で紹介した問題の回答について 発表でみなさんに考えてくださいと言った問題です。 単純…

pyenvとpyenv-virtualenvを使ってみる

昔pyenv使おうとしてうまく行かなくてpyenv恐怖症だったんだけど、 いい加減使えるようになろうと思って入門したのでメモみんなpyenvとvirtualenvって当たり前のようにいってて怖くて、 何が違うの?って感じだった。 pyenv pythonのバージョン切り替える py…

女子大生が噂のLINE40万インターンに参加してきた

女子大生も女子大学院生も女子大生のうち。学生最後の夏は渋谷で青春してきました。 LINEインターン概要 "LINE Summer Internship 2014"募集開始! : LINE HR Blog 今年の夏に噂になっていたLINEインターンは、今年が初開催。B4~D2までの10人が参加しました…

SleepSortで遊ぶよ_(:3 」∠)_

SleepSortとは スリープソート バケットソートのバケツをメモリ空間の代わりに時間に置き換えたものである。 そのままの実装では要素の最大値分処理を止める必要があるので実用性はない。 by バケットソート - Wikipedia スリープソートって名前が可愛いです…

【Python】約分する関数

gcdをPythonの標準ライブラリに見つけた。 自分で書いても全然いいけど、あるから使っておこう。GoogleCodeJam の Round 1Cで約分をする必要がある問題がでてた。 p / q を約分する関数 計算量は O (log min(p, q)) ちなみにPythonのgcdの実装 def gcd(a, b)…

pipでCythonのインストールしようとしたらはまった

普通に pip install cythonすると、以下の様なエラーが出た error: command 'cc' failed with exit status 1 Quick fix to pip install error | MyGeekDaddyのあたりを参考にして sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-fut…

【Python】urlから画像をとってきてトリミングする

昔書いたコードを発掘した。画像urlから画像をとってきて、 指定したSIZE * SIZEの正方形にトリミングして表示する横縦の長さそれぞれ指定したいときは、_trimming関数をちょっと書き換えれば良い。OpenCV(python ver)が使えることが前提。*1 *1:OpenCV for …

【Python】Webページのimgタグから画像urlを抽出する

ちょっとWebページのimgタグ全部とってきて画像集めたいなーってなったのだけど、 相対パスとかあって意外とめんどくさかったのでメモ。※ lxml っていうライブラリを使ってます。 ひとこと あんまりちゃんととれてるかとか確認してないです。 適当に書いたの…

PythonのUnicodeDecodeErrorと戦った話

※2017/11/07追記: こちらはPython2に関する記事です。Python3の場合このエラーに悩まされることはありません。 以下のエラーと戦った話。 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)結論だけ言う…

最大公約数と最小公倍数を求めるアルゴリズム

SRM611で、最小公倍数を求める必要があったので それを求めるアルゴリズム 最大公約数を求める これはユークリッドの互除法を使う gcdを使って最小公倍数を求める a,bは最小公倍数はa* bをa,bの最大公約数やつなので

素数と仲良しになる3つのプログラム

競技プログラミングでは、素数に関わる問題が多くある。例えば、ab は cdで割り切れるかどうか、という問題。 ただし a,b,c,dはそれぞれ109 まで。この場合普通にabは計算出来ない(10億の10億乗になってしまうので)。 そういう時はaとcを素因数分解していく…

クリスマス・イブに女子大生3人でハッカソンしたよ(・ω<)

クリスマス・イブ前日 @cocodrips :「暇だから明日はっかそんしよう」 @a_yagitter @mogumogu_panT 「やろうやろう!」 (10人くらいかけたけど2人しか釣れなかった) Xmas Contestに参加した Xmas Contest 参加したといっても、16時半くらいからみんなでA問題…

【SRM600】Div2 Easy, Medium 【Python】

記念すべきSRM600。 Div2ではTop20名ががTシャツをもらえたそうで・・・。 Tシャツもらえるくらいの実力ほしいです。 Easy 250 The company Manao Inc. cares for its employees and tries to provide them with as much comfort as possible. One of the s…

リクルートのプログラミングコンテストに参加してきた #rprocon

12/8のリクルートプログラミングコンテストにTOEICサボって参加してきました。 オンサイトでのプログラミングコンテストに参加するのは初めて。 前日に観戦に行っていた、 学生プログラマ日本一決定戦 - CODE VS 3.0(コードバーサス3.0) に来ていた人も何…

Pythonが大好きな女子大生がGoogleSWEインターンに参加するまでの話

PythonといえばGoogle!! (? そんなわけで先週末まで、 Googleのソフトウェアエンジニア(SWE)インターンに参加してきました。 本当は参加した内容について書きたいのですが、 どこまで話していいのかわからないので、 参加するまでの話をメインで書こうかと思…

【SRM597】Div2 Easy, Medium解いた【Python】

Div2 Easy 2倍しまくったら全部同じ数になるか You are given an tuple (integer) A. On a single turn, Little Elephant can double (i.e., multiply by 2) any element of A. He may double the same element more than once, if he wants to. He wants to…