Common Lispの機械学習ライブラリが一部で流行りなので、ちょっと触ってみた。
cl-cudaのquicklispへの登録が止まっているので、gitで直接もらってくる。
cd ~/.roswell/local-projects git clone https://github.com/takagi/cl-cuda.git git clone https://github.com/melisgl/mgl-mat.git git clone https://github.com/melisgl/mgl.git
apt-get install libblas-dev liblapack-dev
slimeを立ち上げmglをロードしようとすると、
(ql:quickload :mgl)
エラーとなる。
Component :OSICAT not found, required by #<SYSTEM "cl-cuda">
よく分からんけど、一度cl-cudaをロードしてからだと成功する。
(ql:quickload :cl-cuda) (ql:quickload :mgl)
とりあえずmglのテストを実行。
(in-package :mgl-test) (time (test))
なんかエラーになった。
arithmetic error FLOATING-POINT-INVALID-OPERATION signalled [Condition of type FLOATING-POINT-INVALID-OPERATION] Restarts: 0: [RETRY] Retry SLIME REPL evaluation request. 1: [*ABORT] Return to SLIME's top level. 2: [ABORT] abort thread (#<THREAD "repl-thread" RUNNING {10050A0033}>) Backtrace: 0: (SB-KERNEL:TWO-ARG-< #<SINGLE-FLOAT quiet NaN> 84.919205) 1: (SB-VM::GENERIC-<) 2: ((FLET MGL-CG::UPDATE3 :IN CG)) ...
NaNと比較した? もう一度やり直してみるも結果は変わらず。