iwiwi 備忘録

学んだことを殴り書きます。自分向けのメモです。

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

Deep Mutual Learning (arxiv)

[1706.00384] Deep Mutual Learning 手法 distillationの進化系 2つのネットワークを同時に学習させる 通常通りのsupervised learning lossに加え、mimicry lossを使う mimicry lossとは2つのネットワークの出力を似せたい(KLダイバージェンス) 実験結果 d…

PyPI でバージョン番号を変えず内容を変える

PyPI では、アップロードしたファイルを消すことが出来ても、置き換えることはできない。従って、あるバージョンでアップロードしてしまった後、そこにミスが発覚した場合、再アップロードして置き換えることは不可能である。 www.reddit.com ・・・というの…

「GNU開発ツール」を読んだのでビルド工程をマニュアル操作で進めてみる

www.oversea-pub.com 書籍に従いつつ手を動かしてみた時のメモ書き。gcc のバージョンの違いに注意して進めて行きます。 $ gcc -dumpversion 4.8 プリプロセス C 言語ソース (.c) → 前処理済み C 言語ソース (.i) $ cat hello.c #include <stdio.h> int main() { prin</stdio.h>…

mypy のソースコードをちょっと読んだメモ

mypy は Python の型アノテーションを元に静的な型チェックを行うライブラリ。型推論を行い返り値の型などもチェックする。 Pythonではじまる、型のある世界 - Qiita mypyやっていくぞ - Qiita [翻訳] Python の静的型、すごい mypy! - Qiita 起動からアルゴ…

Numba のコードをちょっと読んだメモ

Numba は LLVM を使って Python のコードを JIT するライブラリ。 ちゃんと速い。https://gist.github.com/iwiwi/9228787711a353e115ffcdee21f1a882 @jit からコンパイル部分に到達するまで @jit → decorators._jit → dispatcher というものが返される 適当…

LLVM Tutorial をやったメモ

LLVM Tutorial: Table of Contents — LLVM 5 documentation まだ途中までしかやってないです。Kaleidoscopeという言語の処理系を作っていきます。非常にシンプルな言語です。対話環境で入力されたコードをJITして実行します。 LLVM のバージョンで結構コード…

分散システム 7章「フォールトトレラント性」

部分的な障害の発生は単体システムでは起こらない分散システムの問題である フォールトトレラント性の導入 基本概念 高信頼性とは: 可用性 (availability)・・・ある瞬間に正常に稼働している確率 信頼性 (reliability)・・・障害を起こすことなくジョブが…

BLAS, LINPACK, LAPACK

BLAS とは ベクトルと行列に関する積や和などの基本的な操作を提供するライブラリのことっぽい。機能はレベルに分類されるらしい。 Level 1:ベクトル演算 Level 2:行列ベクトル演算 Level 3:行列同士の演算 有名な操作として GEMM (ジェム)がある。GEMM…

C++ を Python から呼ぶ方法まとめ

C API ctypes cffi Cython pybind11 Boost.Python SWIG

空のプロジェクトを PyPI に登録するまで

プロジェクトの名前を決めたらまずは PyPI で名前を予約しましょう。 PyPI にユーザ登録する TestPyPI というお試しサイトにも登録しよう。 https://pypi.python.org/pypi https://testpypi.python.org/pypi ~/.pypirc を作る パスワードを書かないでおくと…

apt パッケージ探偵をするときに使うコマンド

会社のバイアリアン(?)の人の問題解決が僕の10倍ぐらい速い。僕も少しずつでもコマンドを覚えていきたい。apt-cache show cuda-drivers apt-cache depends cuda-driversdpkg -l | grep nvidia dpkg -l | grep cudaapt-get changelog cuda-8-0 apt-get dow…