元派遣プログラマの自称技術系ブログです。雑記とか自作のオープンソースプロジェクトの話とか。
Javaとか組込とかできます。お仕事ください。

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をセットアップした時のメモです。 pypyのセットアップhttps://askubuntu.com/questions/441981/how-to-install-pypy3-on-ubuntu-for-newbies sudo add-apt-repository ppa:pypy/ppa sudo apt update sudo apt install pypy3pipのセットアップ htt…

対応端末のはずなのに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…

LenovoのThinkCentre M715q Tiny (Ryzen5モデル)がなんだか安いぞーという話

LenovoでRyzen5のThinkCentre M715q Tinyが安かったのでご紹介します。 価格コム限定モデルなので、以下のリンクから直販リンクに飛びます kakaku.comで、直販リンクのThinkCentre M715q Tiny:価格.com限定 パフォーマンスプラスのカスタマイズへ。 ここから…

機械学習用に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__), …

ビットコイン自動取引11月号

ビットコイン自動取引3か月目の収支報告です。 取引結果 11月は前半苦戦したものの取引高ランキングの賞金が大幅に増加して、残高は前月比+256%となりました。 集計期間 開始日 11/1 9:00くらい 終了日 11/30 9:00くらい 残高 開始日 ¥93,598 終了日 ¥240,04…

ビットコイン自動取引10月号

11月ももう半ばを過ぎましたが、自動鳥引ボットの収支報告です。 9月も一応黒字ではあります。 取引結果 残高は9月末と比較して、+170%に増加して¥93,474になりました。 途中数日間グラフがフラットになっている部分は残高記録を忘れた日です。次に残高の記…

ビットコイン自動取引のレポート

ビットコイン自動取引2か月目の収支報告です。 8月中は実装やテストをしていたので、本格稼働は9月からです。 取引結果 9月はいろいろありまして、残高は前月比+250%になりました。 途中、若干のアルゴリズム変更を含むパラメータ更新などを行いましたが、…

仮想通貨取引所Zaif.jpのJava用ライブラリ作りました。

久々のビットコインネタです。仮想通貨取引所Zaif.jpのAPIをJavaから使うためのライブラリを作ったので公開します。 GitHub - nyatla/JZaif: zaif.jp API for Java 情報取得API(PublicAPI)、ストリーミングAPI、取引API(Private)のすべてのAPIを使うことがで…

タケノコ取りのために法務局に行ってきた

近所に自生していたタケノコ。住宅地の斜面にある竹林から道端にニョキニョキ生えてくるので、散歩がてら取ってきては美味しく頂いてました。とはいえ、一応誰かの土地から生えているので無断で取ると森林法違反になります。そんなわけで、念のため土地の持…

NyARToolkit UnityでUnityちゃんデモを作る方法

NyARToolkitでUnityちゃんを動かすデモのチュートリアルを書きました。 NyARToolkit for Unityの使い方を一通り説明してあります。NyARToolkit UnityでUnityちゃんデモを作る | NyARToolkit project

WoTなモーター、Webmo の雑感

Webデザイナが使うWebofThingsなモーター"Webmo"が公開されていました。Webmo: ウェブエンジニアとデザイナのためのモーターこのシステム、以前開発したmbedJSとよく似ています。mbedJSも似たコンセプトで目指していましたが、途中で企画倒れというか、プロ…

NyARToolkitCSとUnityをリリースしました。

NyARToolkitCSとNyARToolkit for UnityのVersion 5をリリースしました。※動画はNyARToolkit for Unityです。 新しいNyARToolkitCS/for Unityでは、マーカのほかに、NFTターゲットを使うことができます。github.comgithub.com NyARToolkitCSとNyARToolkit for…

NyARToolkit for Processing 3.0.2

NyARToolkit for Processing 3.0.2をリリースしました。バージョン3.0.2では、ARToolKit5に搭載されているNFT機能を利用できるようになりました。github.com サンプルスケッチ NyARToolkit for Processingでは、NFTを使うコードもシンプルに書けます。 impor…

NyARToolkit 5.0.0をリリースしました。

NyARToolkit5.0.0をリリースしました。 youtu.be NyARToolKit5.0.0では、ARToolKit5に実装されているNFT機能を新規に移植しました。 本家のARToolKitと同じように、NFTを使ったアプリケーションを簡単に作ることができます。 github.com リリースの詳細はこ…

余因子展開で逆行列を計算してみる

ARToolKit5で大きめの逆行列を解く必要があったので、余因子展開で計算するクラスを作りました。 このクラスは、逆行列の公式を全て展開後に因数分解して、同一な計算を省略する最適化をしたものです。 2x2~18x18行列用のクラスがあります。github.com Java…

ARToolKit5の移植しています。

ご報告が遅れましたが、昨年、ARToolKitの配信元であるDAQRIさんからご支援を頂けることになりまして、今年からARToolKit5のNyARToolkitへの移植を本格的に始めています。 まだ実用段階ではありませんが、現状は基幹部分のKeyPointMatchingとSurcfaceTrackin…

NyARToolkit for Androidのライセンス更新について

NyARToolkit for AndroidのライセンスをLGPLv3へ更新しました。 ソースコードのライセンス表記については、NyARTK4.nyatlaブランチのみ更新してあります。https://osdn.jp/projects/nyartoolkit-and/scm/git/NyARTK4.nyatla/ 他のブランチについてはLGPLv3で…

ARToolKit5をWindowsで動かすときの備忘録

現時点での最新版 Version 5.3を動かすための備忘録。 SDKの入手場所 Download the ARToolKit Augmented Reality SDK | ARToolKit.orgWindows (Visual Studio 2013) ARToolKit v5.3 Setup (bin-win32-vs120).exe 要らないキャプチャドライバの無効化 QuickTi…

収穫の秋(その1)

朝お散歩していると、カラスが山の中でガサガサしていまして。 何があるのかとよく見たらアケビがある。歩いてると道にも点々と栗が落ちている?そんなわけで過去(20年以上前)の記憶を頼りに一人収穫祭をやってきました。 2時間山沿いの道を走り回って取…

木更津市のバス発車案内

木更津市内に発着する路線バス/高速バスの発車案内サービスが出来ました。 木更津市 バス発車案内 以前紹介した高速バスの発車案内に、木更津市内の路線バス(日東交通のみ)の時刻表を追加したものです。発車案内の使い方はこの記事をご覧ください。nyatla.ha…

ぷららモバイルでLTEルーターが最安値

ぷららモバイルでAterm MR04LN(クレードル付)が20,520円まで値下がり。 契約事務手数料分安くなった感じですね。以前Amazonのタイムセールで買った時は22,950円でOCNのSIMがついてきたので、大体それと同じくらいの価格。 あんまり評判良くないですが、ぷ…

LTEの低速/高速モードの使い分け

固定置き換えで使いだしたOCNの5GBプラン。この回線、速度規制の無いターボモードと200kbpsの低速モードが有り、自由に即時切替ができます。 本音から言えば常にターボモードで使いたいところですが、1日1GB近く使ってしまうので泣きながら通信量の削減を考…

mineoのエントリーコード買った

通信料が9か月間880円引きになるmineoの先行予約キャンペーンが今日までです。http://mineo.jp/docomo_reserve/ 大変お得なので先行予約だけしておきましたが、エントリーコード?とやらを手に入れておくと事務手数料も3240円→1760円くらいになるとか。Amaz…