元バイオ系

元バイオウェット系がデータサイエンスやらを勉強していくブログ。 基本自分用のまとめ。

Julia

Julia tips #11: REPL起動と同時にプロジェクト環境をアクティベートする

~/.julia/config/startup.jlに using Pkg if isfile("Project.toml") && isfile("Manifest.toml") Pkg.activate(".") end と書いておくだけ。この設定はVSCodeのJulia extensionで自動起動されるREPLでも有効。 参考 Activating project environment in Juli…

Julia tips #10: マクロを使って動的に構造体を定義する

Juliaでゼロから学ぶDeep Learningという記事を書きました。 hotoke-x.hatenablog.com 実はこちらの実装、ほぼ本家のPythonそっくりになるように書かれています。 というのも私がDeep Learning初心者なので、自己流で進めすぎるとどこが間違っているのかわか…

Juliaでゼロから作るDeep Learning

もともとPython使いの自分には、ゼロから作るDeep LearningをPythonでやっても面白くない! ということでJuliaでやってみた。 速度が犠牲にならないように多少は考慮したつもりだが、本家Python版の方が速いかも。 なんにも考えなくても速度がでるNumpy凄い.…

Julia 小技集

完全に自分用 便利な小技をメモしていく 随時更新。 現在の環境 Julia Version 1.1.0 Commit 80516ca202 (2019-01-21 21:24 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) CPU: AMD Ryzen 7 1700 Eight-Core Processor WORD_SIZE: 64 LIBM: libopenl…

Julia1.0でマクロを@docしまくった

タイトルの通りである。 「Juliaのマクロ、全然わからん」 と思ったので、とりあえず@の後にtabを打って出てくるマクロすべてについて@docしてみた。

【Julia】Julia-1.0.0のProjectを試す【仮想環境?】

Julia1.0.0が遂にリリースされました。 仮想環境っぽいものを作って環境の切り替えができるようなので、試してみます。 Projectの作成 Anaconda Pythonではconda createコマンドで仮想環境を作れました。 Julia1.0.0ではProjectと呼ぶようです。 Anacondaで…

JuliaでPRML:ベイズ曲線フィッティング

やってみた。 コードは qiita.com をかなり参考にさせてもらっています。 計画行列が自力ではうまく使えないので若干コードに不安ありです。

JuliaでPRML:多項式曲線フィッティング

Juliaの勉強も兼ねてPRMLの多項式フィッティングを実装してみた。 誤差関数書いたけど、今回は解析的にパラメータが出てくるので結局使っていない。 GAとかMCMCとかでパラメータ推定して性能見てみるのもいいかも。 計画行列をうまく使えるようになりたい。

Julia tips #9: CVODE (Sundials.jl) の数値積分が終わらない時の回避方法

追記 どうやら、せっかく設定したhminは内部でフラグチェックが行われないようです。 solve関数のmaxitersオプションで対応するしかないかもしれません。 また後程検証してみます。 以下は検証が十分ではありません。 ソルバ自体の動作に支障はありませんが…

Julia tips #8: パッケージの追加に失敗したとき

自宅PCにDifferentialEquations.jlを追加しようとしたら以下のようなエラーが... julia> Pkg.add("DifferentialEquations") ERROR: resolve is unable to satisfy package requirements. The problem was detected when trying to find a feasible version f…

Julia tips #7: Juliaでプロットのlegendを手動で変更したい

Juliaのプロットにて、legendの変更で躓いたので色んなバックエンドで簡単に試してみた。 Plotlyでのプロットが消えてしまいましたが、まぁいいでしょう。 legendをプロットの外へ移動したい場合はどうすればいいんだろうか... 解決しました。 これではだめ…

Windows 10でJulia専用のPython仮想環境を作る

Juliaでは、Pythonを呼び出して使うことができます。しかし、何も考えずに使おうとするとMinicondaのPython 2.7がインストールされてしまいます(2018/02/01現在)。 そこで、Anacondaで作ったJulia専用の仮想環境を作って、その中でJulia用のPythonパッケー…

Julia tips #6: Multiple-Try Metropolisを実装してみた

Multiple-Try Metropolis (MTM)って? メトロポリス・ヘイスティングスの多数決バージョンです。 今いる場所から次の候補を複数生成し、その値周辺が今いる場所より尤もらしければ候補の中の1つへ移動します。 細かい話を書く元気がないので、理論的な背景は…

Julia tips #5: MCMC法(Metropolis-Haisting法)を実装してみた

JuliaにてMCMC法(Metropolis-Haistings法)を実装してみました。 コードの利用・改変・再配布は自由にして構いませんが、何か起きても責任は取りません。 一部いらない変数や無駄実装が混じってます。動作に問題はありません。バイオ実験系なので許して...…

Julia tips #4: Cairoのインストールに失敗する

環境 Windows 10 HOME Julia 0.6.2 JuliaでグラフをプロットするライブラリとしてはGadlyが有名?ですが、プロットをpng形式で保存するためにはCairoというパッケージが必要です。 そこでPkg.add("Cairo")したらインストールに失敗したというお話。 解決法も…

Julia tips #3: ODE solverの速度比較 with Python

JuliaではSundials.jlをインストールするだけで、SundialsのODEソルバ、CVODEが使えます!!(マニアックすぎ?) 未知システムのパラメータ推定をする際、数値積分の区間をうまいこと刻まないと値が飛びすぎて計算できなかったり、刻む必要のないところで刻…

Julia tips #2: ファイル検索

スタックオーバフローより。 「組み込み関数はないけどワンライナーで書けるよ」 とのこと。 関数化したほうが便利ですね。以下コードです。 searchdir(path,key) = filter(x->contains(x,key), readdir(path)) readdir (path) 渡したpathの中にあるディレク…

Julia tips #1:【超簡単】コードのテスト

テストマクロについてのメモ(2017/12/03時点) 環境 windows 10 Pro (Fall Creators Update) WSL有効化済み WSLのbashにて実行 環境構築の仕方はこちらをどうぞ hotoke-x.hatenablog.com テストマクロの使い方 まずはJuliaのバージョン確認から $ julia --v…

Windows Subsystem for Linux + Python + Jupyter + Julia

Windows Subsystem for Linux (WSL)で開発環境を構築する Windows10 Fall Creators Updateにて、WSLが正式版となりました。 以下ではWSLの有効化は事前に行っているものとします。 WSLでは、Linuxが仮想環境ではなくサブシステムとしてWindows上で動く。 細…