ネコと和解せよ

2019-01-01から1年間の記事一覧

バッチファイルからWindlwsパスを渡してWSLコマンドを実行する方法

バッチファイルにファイルをドラック&ドロップして実行したいときには次のように書く。 @SETLOCAL @SET CMD=wsl wslpath "%1" @FOR /f "DELIMS=" %%A IN ('%CMD%') DO SET R=%%A echo %R% wsl ls %R%Rに変換したパスが入る。%1をダブルクォーテーションでく…

pypyで高速化したらメモリリークしたお話

Pythonクラスを関数内で定義すると、pypyでの実行時にメモリリークが発生して実行速度が遅くなる。以下のコードをPythonで実行する。 import time class Leak: def proc(self): class Inner: def something(self): i=1+1 for _ in range(10000): a=Inner() a…

Pythonで共有メモリを使った並列処理をするときのメモ

Pythonで大きめのデータ(数百M~数GB)を解析しようとしたときの技術メモ。Pythonを並列処理で高速化しようとするとGILの制約を受ける。この問題は複数の同一プロセスを起動することで回避できるが、巨大なデータを扱う場合、それが読出専用であってもメモリ…

Python3.7をWSLに入れる

apt search Python3.7*で見つからないとき。ppaをこの辺から追加する。 sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get updateそのあとにapt-get install python3.7でOK 参考 How to Install Python 3.7 on Ubuntu 18.04 | Linuxize

pypy3のセットアップメモ

WSLにPyPy3をセットアップした時のメモです。 matplotlibとnumpyとscypyとpandasをセットアップできるようにするのが目標pypyのセットアップhttps://askubuntu.com/questions/441981/how-to-install-pypy3-on-ubuntu-for-newbies sudo add-apt-repository pp…

対応端末のはずなのにARが出てこない人へ

対応端末のはずなのに検索結果に3Dモデルのリンクがでてこない人は、OSを最新のバージョンにしましょう。 iOSの場合 13.1.1に更新したらSafariで見れるようになりました。 いますぐ、設定→ソフトウェアアップデートでバージョンを確認しよう! Pixel3aの場合…

ビットコイン価格をCSVでダウンロードするサービスを作りました。

ビットコイン取引所の配信するビットコイン/仮想通貨の過去データをダウンロードするサービスを作りました。 機械学習の練習やbotのバックテストなんかに使えると思います。nyatla.jp 公開しているのは、bitflyerとZaifが配信しているデータから作った始値、…

SQLiteでMAX関数とMIN関数を一緒に使ったら死ぬほど遅かった話

300万件ほどのデータのあるinteger型のidを格納するテーブルで、MAX(id)とMIN(id)を求めようとしたらとんでもない時間がかかった。 同じSELECTでMINとMAXを求めたのが悪いようだ。別に求めてUNIONでくっつけると問題なかった。理由はよくわからない。 テーブ…

Google DriveのファイルをGoogle Colaboratoryからサクっと使う方法

お気楽機械学習プラットフォームのGoogle Colaboratoryから、Google Driveにあるファイルが簡単に使えるようになっていたという話。以前は長い呪文を撃ち込まないとドライブのファイルが使えなかったのですが、今は以下の2行で接続できる。 from google.col…

機械学習用にPCを組み替えた

ゲームと機械学習の計算機にしていた自作PCを作り変えました。 時々パーツ単位では更新することもありましたが、マザーボードを含めては十数年ぶりです。 構成 1050Tiは以前NierAutomataを眺めるプレイするために買ってあったので、それを流用します。CPUはI…

Jupyter NoteBookとPythonで上位階層のimportをする方法

Jupyter NoteBookで__file__を使って上位ディレクトリをimportしようとすると失敗する。__file__が定義されていないから。 代わりにpathを使えばよいらしい。 import sys import os try: __file__ sys.path.append(os.path.join(os.path.dirname(__file__), …