読者です 読者をやめる 読者になる 読者になる

語句の真相とあやまち

なにもないことにまつわるあれこれとか関係のないこととか

Julia save&loadはJLD

packageがある。

HDF5も使うようだ。

 

HDF5は、MochaでMNISTのデータを保存するために使っていた。

これはOSによるファイルシステムの違いを吸収する仕組みのようにみえる。一般的な仕様。

 

CouseraでJuliaのコース

CourseraからのアナウンスでJuliaのコースがあったので、受講した。

いままで動かなくて往生していたことも、解決せざるをえず、うまくいくようになったと思う。

 

・演習はIJuliaのnotebookで提出するので、使えるようになった。

 JuliaBoxが簡単に使える。しかし、notebookをCouseraにアップロードすると、読み込めなかったりしていろいろトラブルがあった。JuliaBox自体は問題ないし、どこでも同じ環境が支えて便利。

 JuliaBoxは、今は無料だが、いずれ有料コースもできるみたい。無料では使用時間が3時間に限定されている。たぶん、一回のセッションが3時間なのではないだろうか。そんなに使わないので、わからない。残り時間が3時間からカウントダウンされているのでそう思った。

 ローカルのJuliaでもnotebookを動かすためにはIJuliaが必要だが、これがなかなかうまくいかなかった。IJuliaのgithubのドキュメントをみると、minicondaをインストールせよとあって、指定のURLにはminicondaがみあたらなかったが、anacondaをインストールして解決した。

 Anacondaににあるnotebookだったかな、それを使っているらしい。Python使う場合は、これも便利そう。(僕はPythonを使っていない。Rは使っている)

 

 コースでは、pyplot(だったかな)やGadflyを使ってグラフを書いた。DataFramesも使った。散布図の放物線によるフィッティングなど面白かった。型のあたりも一人でやっていると退屈だが、講義だと聞ける。

 

 今回受講してみて、思ったのは、Juliaのパッケージの使い方に関する情報がなかなかみつからないので、こういう機会があるとありがたいなということ。

 

 ちなみに、Couseraのコースは無料だが、その場合はアクセスできるリソースに制限があるので、5000円くらい出して全部できるようにした。5000円なら1.5冊くらい本が買えるので、ちょっと高い気もするが、まずまず満足。

 

僕の環境はMacOS。会社ではWindowsLinuxだが、Proxy経由の場合の使い方がうまくわからず、ローカル環境では使えない。そんなときは、JuliaBoxがいいかなと思う。秘密情報は置けないけれど。

 

 

 

 

The Little Prover

これは、LISPSchemeに対する、The Little LisperやThe Little Schemerのような関係にある Coqに対するThe Little Proferらしい。

 

まだ最初の方しか読めていない。ややこしい。

focusをあてている部分にルールを適用するその仕方を繰り返し説明しているのだけれど、なんだかよくわからない。英語の読解力がないからだろう。

 

もう少し読み続けてみよう。

 とはいえ、Juliaが優先だと思う。

 

 

Junoが使えない記録


JunoがAtomから使えるようになっていて、固有のGUIがみあたらない。
これまでも何度かJunoを使おうとして、結局使えなかったのだけれど、今回はすこしまじめに取り組んだが、やはりだめみたいだという話。
環境はMacOS/X 10.11.4, MacBookPro

1. Atomが古いといわれたので最新のAtomをインストールしたら、Atom2という名前にかわった。
2. Atomで、パッケージuber-junoをインストールする
インストールがおわり、juliaのソースを開いていたのだけど、juliaを起動するとき最初は数分かかるというメッセージがでたので待つ
3. エラーになり、juliaのメニューからTerminalを開いてPkg.add("Atom")をしろと言われる。
Terminalを開くとbashの画面になり、一回失敗。
もういちどTerminalを開くとJuliaが起動するので、Pkg.add("Atom")をする
また、エラーになり、こんどはPkg.update()をしろといわれる。

というようなくだりをJulia0.4.5でやって、なにやら0.4.5でなにかがかわったといわれる。場所はJuliaParserだったか。
0.4.5で変わったのなら古い0.4.3なら大丈夫かと思ってやってみても同じ。
よくメッセージをみると0.5がよいような話。
Juliaのサイトでは最新が0.4.5であり、0.5はない。Nightly Buildをインストールしたら、それが0.5だった。

Julia0.5を使い、PATHをちょっと変えておかなくてはならないのだけれど、パッケージのインストールはできた。

そのあと、再び、Atom.jlパッケージのloadingでエラーになった。

言われるままにupdateをするが・・・
julia> Pkg.update()
INFO: Updating METADATA...
INFO: Computing changes...
INFO: No packages to install, update or remove

で問題なし・・・

 

juno-discussionに同じ現象の報告があるも、回答がなかった。

今日似たような問題を自己解決した人がいた。

http://discuss.junolab.org/t/loaderror-with-using-atom/591

いちおうやってみたが、すべてを消すことができていないのか、現象かわらず。

案外、0.5ではないのかもしれないし、MacOSではないのかもしれない。

 

そもそもJuliaはどこのOSがメインなのだろうか。Windows版はshとの連携が使えないので使っていない。Linux版は環境がないので使っていない。

Linuxがいいのかな・・・

 

 5/3夜

ともかく、Julia自体がおかしいと思う。0.4.5でPkg.update() がエラーになるということはそういうことだろう。

しかも、今、0.5でPkg.update()が意味不明になっている。

julia> using Winston

ERROR: LoadError: syntax: space before "(" not allowed in "AbstractVecOrMat{T} ("

 in include(::ASCIIString) at ./boot.jl:233

 in include_from_node1(::ASCIIString) at ./loading.jl:426

 in eval(::Module, ::Any) at ./boot.jl:236

 [inlined code] from ./sysimg.jl:11

 in require(::Symbol) at ./loading.jl:357

 in eval(::Module, ::Any) at ./boot.jl:236

while loading /Users/shin/.julia/v0.5/Winston/src/Winston.jl, in expression starting on line 1

 

julia> using Debug

ERROR: ArgumentError: Debug not found in path.

Run Pkg.add("Debug") to install the Debug package

 in require(::Symbol) at ./loading.jl:346

 in eval(::Module, ::Any) at ./boot.jl:236

 

plot()は昼間動いていたのに、どうなったのだろう。

だんだん、趣味では使えないレベルになってきているような気もするか、そのうちなんとかなるだろう

 

 

5/4 朝

0.5ではあいかわらずだが、0.4.5にしてみたら

 

julia> using Winston

 

WARNING: deprecated syntax "AbstractVecOrMat{T} (" at /Users/shin/.julia/v0.4/Winston/src/Winston.jl:96.

Use "AbstractVecOrMat{T}(" instead.

WARNING: requiring "Dates" in module "Winston" did not define a corresponding module.

WARNING: module Winston should explicitly import * from Base

 

5/9 夜

0.5ではWinstonをPkg.add()できない。gitへのアクセスで

0.5ではPkg.updateできる

とりあえず、.juliaを全部消して0.4.5と0.5をインストールしなおしてみた。

 

0.4.5ではPkg.add("Winston")ができなかったが、Pkg.update()するとWinstonをremoveingしている。

そしてやはりPkg.add("Winston")はできず。

julia> Pkg.add("Winston")

ERROR: unknown package Winston

 in error at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib

 [inlined code] from pkg/entry.jl:49

 in anonymous at task.jl:447

 in sync_end at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib

 [inlined code] from task.jl:422

 in add at pkg/entry.jl:64

 in add at pkg/entry.jl:73

 in anonymous at pkg/dir.jl:31

 in cd at file.jl:22

 in cd at pkg/dir.jl:31

 in add at pkg.jl:23

 

環境を壊してしまったのかなあ。

もういちどPkg.update()したらinstallされた

が、Building Cairoでエラー

INFO: Building Cairo

================================[ ERROR: Cairo ]================================

 

LoadError: ArgumentError: Homebrew not found in path

while loading /Users/shin/.julia/v0.4/Cairo/deps/build.jl, in expression starting on line 36

 

================================================================================

INFO: Building Tk

 

==========================================[ BUILD ERRORS ]==========================================

 

WARNING: Cairo had build errors.

 

 - packages with build errors remain installed in /Users/shin/.julia/v0.4

 - build the package(s) and all dependencies with `Pkg.build("Cairo")`

 - build a single package by running its `deps/build.jl` script

 

====================================================================================================

 

つかれた

 

新しい0.5をインストールしなおしたが、Pkg.update()でGitError...

 

 

 

Deviant Moon Tarot Companion Book by Patrick Valenza

数日前にAmazon.co.jpから届けられたこの本は、思っていたよりも巨大。

しかし、大きな絵がとてもいい。

元のタロットは、従来のタロットとはまったく違う絵だと思う。

不思議な絵で、見ているといろんなストーリーが浮かんでくる。

時間がいくらでもすぎてゆく。

 

そのCompanion Bookなので期待している。英語なのでいつになったら読めるのやら。

 

 

プログラミング言語Julia

すこしJuliaの勉強を始めてひと月くらい。週末だけ。

ライブラリもいろいろあっておもしろい。

インタープリタ言語(という区分けに意味があるのかどうか)の中で最速というはなしだけれど、あんまり気にならない。

最近気がついたのは、デバツグ環境がないこと。あるのだろうか。

ステップ実行とかできない。

コンパイルして高速にしているので、無理なのかな。

 

デバッグというか実行をトレースする方法がほしい。

 

 2016/4/3 更新

Debug バッケージを使う

using Debug

ブレークポイントの設定は @bp 

そこで h でヘルプがでる。

profileがよくわからない。