ぴろの狂人日記

2014年から頑張ってブログを継続しようと思います。「継続と習慣」を今年の目標にしたので、頑張って更新を続けようと思います。おいおいはレビューや数学や認知科学などについて記事を書いていければと思っています

El'CapitanにMacTeXのインストール

最近、TeXで資料を作らなければならない状況があったため、TeX環境を入れました。

まあ過去にwindowsとかに入れたこともあったりするのですが、Macに入れる手順も自分の忘備録として残しておきたいと思います。

前提としている環境は以下の状況です。

  • Homebrewはインストール済み(まだインストールできていない場合はこちらから

    piroshhh.hatenablog.com

  • 該当の端末には初めてMacTeXをインストールする
  • OSはEl'Capitan(10.11.5)

 

Homebrew Caskのインストール

まずHomebrewの拡張であるHomebrewcaskをインストールします。
ターミナルを開き以下のようにコマンドを実行します。

hiroshi-no-MacBook-Air:~ hiroshi$ sudo brew tap caskroom/cask


sudoで実行しているので、パスワードを求められます。自分のパソコンにログインするときのパスワードを入力すると、以下のように処理が始まります。

==> Tapping caskroom/cask
Cloning into '/usr/local/Library/Taps/caskroom/homebrew-cask'...
remote: Counting objects: 3710, done.
remote: Compressing objects: 100% (3655/3655), done.
remote: Total 3710 (delta 63), reused 865 (delta 34), pack-reused 0
Receiving objects: 100% (3710/3710), 6.48 MiB | 880.00 KiB/s, done.
Resolving deltas: 100% (63/63), done.
Checking connectivity... done.
Tapped 1 formula (3,675 files, 15.2M)
hiroshi-no-MacBook-Air:~ hiroshi$


処理はすぐ終わるので、終わったらさらに次のようにコマンドを打ちます。

hiroshi-no-MacBook-Air:~ hiroshi$ sudo brew install caskroom/cask/brew-cask


そうすうと以下のようになります。

==> Installing brew-cask from caskroom/cask
==> Cloning https://github.com/caskroom/homebrew-cask.git
Cloning into '/Library/Caches/Homebrew/brew-cask--git'...
remote: Counting objects: 3408, done.
remote: Compressing objects: 100% (3369/3369), done.
remote: Total 3408 (delta 56), reused 528 (delta 18), pack-reused 0
Receiving objects: 100% (3408/3408), 5.88 MiB | 4.06 MiB/s, done.
Resolving deltas: 100% (56/56), done.
Checking connectivity... done.
Note: checking out 'b4c92f3658d47712aa6114fb29be50a763cf78ee'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b 

==> Checking out tag v0.60.1
==> Caveats
You must uninstall this formula. It is no longer needed to stay up to date,
as Homebrew now takes care of that automatically.
==> Summary
🍺  /usr/local/Cellar/brew-cask/0.60.1: 4 files, 7.6K, built in 11 seconds
hiroshi-no-MacBook-Air:~ hiroshi$

 

MacTeXのインストール

いまインストールしたHomebrewCaskを使ってMacTeXをインストールします。
同様にターミナルで次のように打ちます。

hiroshi-no-MacBook-Air:~ hiroshi$ sudo brew cask install mactex


つぎのような処理が始まります。

==> We need to make Caskroom for the first time at /opt/homebrew-cask/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
==> Downloading http://tug.org/cgi-bin/mactex-download/MacTeX.pkg
######################################################################## 100.0%
==> Verifying checksum for Cask mactex
==> Running installer for mactex; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> installer: Package name is MacTeX-2015
==> installer: Installing at base path /
==> installer: The install was successful.
🍺  mactex staged at '/opt/homebrew-cask/Caskroom/mactex/20150613' (2.5G)
hiroshi-no-MacBook-Air:~ hiroshi$


特に問題なく完了すれば、Finderのアプリケーションディレクトリの中にTeXのフォルダができています。



で、そのTeXフォルダの中にはこんなものが入ってます。


TeXShopがいわゆる統合開発環境です。

PATHを通す

しかし、このままではまだTeXは動きません。

試しにTeXshopを起動し、こんな感じで打ってみます。


これで左上に表示されている「タイプセット」のボタンを押せばpdfファイルが出力されるはずなのですが、こんなエラーが表示されてしまいます。




どうやらいろいろ調べてみると、El'CapitanからPATHを通す場所が違うようです。

画面左上から「TeXShop→環境設定→内部設定」と進み、パス設定の中の「(pdf)TeX」を編集します。

デフォルトは、「/usr/texbin」になっているようですが、これを消して、「/Library/TeX/texbin」と入力します。


それで「OK」を押します。

それでもう一度「タイプセット」を押すと、無事pdfファイルが出力されます。されるはずです。されなかったらごめんなさい。

ちなみに、ターミナルのほうで直接PATHは通す必要はないようです。
シェルのコマンドでPATHからTeXに関するコマンドを削除しても、少なくとも上記環境設定でPATHが通っていれば大丈夫なようです。


最低限の記述はこれでできるようになりましたが、パッケージなどはまだ使えません。

パッケージのインストール方法は、これはこれでまた若干手順があるので、またの機会にします。

ルーを使わないカレーを作りました。

以前紹介したカレー屋さんのカレーがすごく美味しく、いつか自宅でも再現してみたいなーと思っていました。
(前、浅草橋で食べたカレー。まだあるのかな。

piroshhh.hatenablog.com

)

今日は休みだし、普通のルーを使うカレーは問題なく作れる自信があるので、せっかく気も向いたし挑戦してみることにしました。

材料は以下。

  • 鳥もも肉(250gぐらい)
  • たまねぎ(2個)
  • ジャガイモ(3個)
  • トマト缶(ホールトマト、1缶)
  • カレー粉(適当)
  • はちみつ(適当)

じゃがいもはたまたま3個余ってたので3個使いました。適当でいいと思います。

手順

やってみた手順を書きます。結論からいうとこれは失敗した手順です。いろいろミスってます。自分の反省として書いているのでこれは参考にしないでください。

  1. 鳥もも肉を炒める
  2. そこにジャガイモを入れて炒める(→この時点で失敗したなーと思った。順番逆だしね。そしてやはり最終的にジャガイモに火が通りきってない、という。。。)
  3. 一旦炒めたものを取り出し、たまねぎをみじん切りにしたものを炒める。(一般的にはきつね色になるぐらいまで炒めるらしい。)
  4. そこにカレー粉を加えてさらに炒める。
  5. 最初に炒めたお肉とジャガイモを投入。
  6. トマトも投入し炒める。
  7. 最後にカレー粉を追加したり、はちみつを加えて味を整える

 

完成!

そして完成したのがこれ。

 

感想

まず上にも書いたけど、肉を炒める順番とジャガイモを炒める順番を間違えました。トマトとかいれて煮て最終的に火が通るかなとか思ってましたが、考えが甘かったです。。。

あと、玉ねぎを入れすぎたかもしれない。食べてみると玉ねぎの味が主張しすぎ。もっと控えめでもいいかな。。。
玉ねぎ2個とか書いてありますが、一つ一つが大きかったので、みじん切りした時点でも結構な量になってたからそれも原因かも。

いくつかネットで調べてみたけど、上の材料からジャガイモだけ抜いた、ぐらいがミニマムの材料ではないかな。
もちろんこだわればいろいろ追加できますが。


まあ、初めてだったのでうまくはいきませんでしたが、前に食べたおいしいカレーをちょっとだけ再現できました。

普段のルーを使って作るカレーとは全然違いますね。

次作るときは今回の反省を踏まえて作ろう。

参考にしたページや文献・書籍

cookpad.com


allabout.co.jp


cookpad.com

思い出の曲

LFJ最終日にも行ってきました。

 

今日は室内楽二つとオーケストラを聴きました。

 

シェーンベルク弦楽六重奏がすごい良かったです。

 

なんか和音がまたちょっと独特な感じで、面白かったです。

 

でViolaの音がいい味を出していて個人的はそれだけでもう満足でした笑)

 

 

 

あと、シューベルトピアノ五重奏曲『ます』。

 

これは、アルデオ弦楽四重奏団の演奏です。今回度々登場している、ヤン・ミサさんがいるカルテット。

 

ちょっとまたヤンさんが出てくるのを期待していましたが、編成が少し違うようででていませんでした。

 

それでも素晴らしい演奏でした!

 

 

 

 

で、最後に聴いたのは、シューマンの『春』。

 

これは思い入れのある曲です。

 

高校で自分が執行学年のときに演奏し、さらに大学のとき自分がトップで演奏しました。

 

そんな曲を一番前の席の真ん中あたりで、贅沢に聞けました。

 

自分でも弾いたことがあるから、曲の構造がわかっているから、より楽しめました。

 

でもなんど聴いても難しそう。

 

フェルマータがたくさんあったり、テンポが緩んだり、速くなったりが結構あるので、合わせるのが大変。

 

一番前で細かいところまで、見ちゃうと、微妙にタイミングあってないんじゃないかと思うところがちょこちょこありました。

 

やっぱり難しいよ。

 

一楽章の序奏明けのAllegro VivaceのViolinですが、全員が弾けるとあんな感じになるんですね。すごい。。。

 

思い入れのある曲をプロの演奏で、しかも間近で、聴けて満足でした。

 

 

立夏の季節

明日、5月5日は立夏らしいです。

 

さっきニュースでやってました。

 

この時期は春と夏の両方の顔があるとのこと。

 

気温はそれほど高くないけど、日差しは強い。これだけきくと過ごしやすいイメージだし、実際過ごしやすいと思うんですがどうでしょう。

 

幸いにも、雨は夜の間に降ってくれて、晴れのなかLFJの二日目に行ってきました。

 

体力ないな。。。もう若干疲れてる。。。

 

 

今日は全部で5公演聞いてきました。

 

室内楽 系と現代曲っぽいのを中心に聴きました。

 

もともとチケットを予約したときは、奇抜で斬新な演奏をイメージしていたのですが、演奏のスタイル自体は、普通のクラシックの形式を自然に踏襲しておりました。

 

 

好きだった演奏は、午前中のヴィヴァルディのバイオリンコンチェルトとか、夕方の「四季」のリコンポーズとか。

 

昨日のヤン・ミサさんの演奏もそうだけど、アンサンブルできている、というよりもっと踏み込んで演奏中に積極的にコミュニケーションしているって感じの演奏が好きなのかもしれない。

 

言語とは別のチャネルでコミュニケーションをしているっていう感じが堪らない。

ラ・フォル・ジュルネ・オ・ジャポン(LFJ2016)へ行ってきました。

今日は待ちに待ったラ・フォル・ジュルネ・オ・ジャパンへ行ってきました。

www.lfj.jp

 

https://www.facebook.com/lafollejourneeaujapon

 

去年は、当日に行ってしまったためチケットも思うように購入できず十分に楽しむことができませんでしたが、今年は1ヶ月ほど前から準備して参戦?しました!

 

 

個人的には室内楽や前衛的な曲(現代曲とか)を聴くことを一応目的にしています。

 

今日一番始めに聴いたのは、ハイドンのカルテット。

 

ファーストバイオリンをヤン・ミサさんが弾いておりました。

 

去年バイオリンコンチェルトを弾いていて、かなり感動したので是非また聴きたいなと思ってました。

 

やっぱり素晴らしいです!!適切な表現かわかりませんが迫力があるというか。期待を裏切らないですね!

 

 

でそのあと、グラスという作曲家のバイオリン協奏曲第2番「アメリカの四季」を聴きました。

初めて聴く曲でした。かなり現代の曲。なんか和音も現代曲っぽい感じでした。

 

 

 

しばらく時間は空いて夜、渋さ知らズオーケストラを聴きに行きました。

 

ちょっとイメージとは違いましたが、斬新。

 

かなりいろんな要素が混じった公演でした。

 

まず、楽器だけでも、バイオリンやトロンボーン、チューバ、ピアノあたりまではいいとして、ドラム、ギター、歌などなどがあり、それに加え仮装をしたダンスが入ってきて、、、とまあつまりカオスでした笑)

 

しかも予定では45分の公演のはずなのに、始まる前のアナウンスで90分に延長になりましたとか、やり放題?な状態笑)

こういう適当?なの好きです。

 

でも残念ながら、自分は次の公演もチケット買ってしまっていたので、途中退出。

 

 

最後は、ヴィクトロアの「青龍」とグリーグのピアノ協奏曲を聴きに行きました。

 

ヴィクトロアもかなり現代の作曲家。グリッザンドとか多用してて、少し古典的な曲とは違う雰囲気でした。チェロがネックを叩いて演奏していたのが、現代曲っぽいなと思いました。

 

 

 

さすがに朝から晩までいると疲れた。

 

明日はもっとたくさん公演を聴く予定だけど大丈夫かしら。。。汗)

NLTKを使ってみる---『入門 自然言語処理』を読む1----

ずいぶんと前になりますが、

piroshhh.hatenablog.com

piroshhh.hatenablog.com

でNLTKをインストールしました。

その流れで、『入門 自然言語処理』を読んでみたいと思います。

というのも、この本ではpython2系をベースにして書かれていまして、python3系で動かしてみたいと思ったからです。

慣れている人にとってはpython2からpython3への読み替えもすぐできるのでしょうが、自分はそうではないし、そういう人もいると思うのでpython3で実際に動いたコードを記載しつつ勉強の過程を記録してきたいと思います。

さてこの記事のスタートとしては、『入門 自然言語処理』でいうところの1.1.3、とりあえずNLTKのインストールができたことが確認できたところから始めたいと思います。

本ではインタプリンタ上、つまりテキストファイルにプログラムを書いて保存してターミナルなどのコマンドから実行するのではなく、直接ターミナルなどのコマンドに逐次コードを打っていく方法で進められていますが、ここでは一旦保存する方法で進めていきます。

本ではtext1.concordance(""monstrous")を実行しています。
これは、指定された単語が現れた全ての場所を、その周辺の文章とともに表示します。
下の例で言えば、text1の中から「monstrous」という単語が現れた場所をその周辺の文章とともに表示します。
これをするには以下のようなコードを書きます。

#以下のように書いて、nlpex.pyという名前で保存することにする。
import nltk
from nltk.book import *
print(text1.concordance("monstrous"))

ターミナルにてカレントディレクトリへ移動し、

hiroshi-no-MacBook-Air:Pro-tr hiroshi$ python3 nlpex.py      #python3 nlpex.pyと打ってreturn

とコマンドを打つと、


*** Introductory Examples for the NLTK Book ***
Loading text1, ..., text9 and sent1, ..., sent9
Type the name of the text or sentence to view it.
Type: 'texts()' or 'sents()' to list the materials.
text1: Moby Dick by Herman Melville 1851
text2: Sense and Sensibility by Jane Austen 1811
text3: The Book of Genesis
text4: Inaugural Address Corpus
text5: Chat Corpus
text6: Monty Python and the Holy Grail
text7: Wall Street Journal
text8: Personals Corpus
text9: The Man Who Was Thursday by G . K . Chesterton 1908
Displaying 11 of 11 matches:
ong the former , one was of a most monstrous size . ... This came towards us , 
ON OF THE PSALMS . " Touching that monstrous bulk of the whale or ork we have r
ll over with a heathenish array of monstrous clubs and spears . Some were thick
d as you gazed , and wondered what monstrous cannibal and savage could ever hav
that has survived the flood ; most monstrous and most mountainous ! That Himmal
they might scout at Moby Dick as a monstrous fable , or still worse and more de
th of Radney .'" CHAPTER 55 Of the Monstrous Pictures of Whales . I shall ere l
ing Scenes . In connexion with the monstrous pictures of whales , I am strongly
ere to enter upon those still more monstrous stories of them which are to be fo
ght have been rummaged out of this monstrous cabinet there is no telling . But 
of Whale - Bones ; for Whales of a monstrous size are oftentimes cast up dead u
None

となります。

本の方ではsimilarやcommon_contextsなども紹介されていますが、コードの書き方自体では同じなので省略。(なるべく丁寧にという、自分なりの方針からはややそれますが、、、まぁいいか)


次は、分散プロットの表示です。

#先ほどの例と同様に、以下のように書いて例えばnlpex.pyとかいう名前で保存する。
import nltk
from nltk.book import *
text4.dispersion_plot(['citizens','democracy','freedom','duties','America'])


で、次のようにコマンドを打ちます。

hiroshi-no-MacBook-Air:Pro-tr hiroshi$ python3 nlpex.py


するとこういう画面が表示されます。


とりあえず、一旦ここで区切ります。

参考にしたページや文献・書籍
入門 自然言語処理

入門 自然言語処理

 

 

Macでpython3の環境構築14---OpenCV3のインストール2---

前回、

piroshhh.hatenablog.com

では、OpenCV3のインストールを試してみたものの、うまくいかなかったというお話でした。

ここからネットの情報を調べながら、色々と試行錯誤が始まりました。

その試行錯誤の過程で行なったことを記録していくわけですが、まずうまくいった操作を書いておきます。

うまくいった操作

結論からいうと、次の操作でうまくいきました。

hiroshi-no-MacBook-Air:~ hiroshi$ sudo sh -c "echo '/usr/local/opt/opencv3/lib/python3.4/site-packages' >> /usr/local/lib/python3.4/site-packages/opencv3.pth"

ターミナルを起動して上記コマンドを打つと、無事OpenCV3をインポートできるようになりました。
このコマンドの意味や効果もある程度調べてみましたが、そのあたり詳細は、また別の機会に書きたいと思います。

うまくいかなかった操作

    1. sys.pathに追加してみる
    2. sys.pathというところにpythonがモジュールを探す探索場所が書かれているという噂だったので、次のようにしてみましたが、できませんでした。もっともあまり理解せずに行なったので、そもそもが、正しいコマンドを実行していたのはわかりませんが。
hiroshi-no-MacBook-Air:~ hiroshi$ python3      #ターミナルを起動して「python3」と打ってreturn。すると以下3行が表示され>>>で次のコマンドの入力待ちになる。
Python 3.4.3 (default, Aug 11 2015, 08:57:25) 
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys         # 「import sys」と打ってreturn。
>>> sys.path.appned("/usr/local/lib/python3.4/site-packages")       # sys.pathに文字列を追加する。
>>> print(sys.path)       #sys.pathの中身を表示。無事追加されたのかを確認する。確かに一番最後に追加されています。
['', '/usr/local/Cellar/python3/3.4.3_2/Frameworks/Python.framework/Versions/3.4/lib/python34.zip', '/usr/local/Cellar/python3/3.4.3_2/Frameworks/Python.framework/Versions/3.4/lib/python3.4', '/usr/local/Cellar/python3/3.4.3_2/Frameworks/Python.framework/Versions/3.4/lib/python3.4/plat-darwin', '/usr/local/Cellar/python3/3.4.3_2/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/site-packages']

 

      まだ完全に理解できていないので、なぜこれでできなかったのかなど、詳細はここでは飛ばします。

 

      うまくいかなかったので元に戻しておきます。sys.path.appendで追加したものを削除するには、sys.path.removeらしいです。
>>> sys.path.remove("/usr/local/lib/python3.4/site-packages")
>>> print(sys.path)
['', '/usr/local/Cellar/python3/3.4.3_2/Frameworks/Python.framework/Versions/3.4/lib/python34.zip', '/usr/local/Cellar/python3/3.4.3_2/Frameworks/Python.framework/Versions/3.4/lib/python3.4', '/usr/local/Cellar/python3/3.4.3_2/Frameworks/Python.framework/Versions/3.4/lib/python3.4/plat-darwin', '/usr/local/Cellar/python3/3.4.3_2/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload']          #きちんと消えています。

 

    1. .bashrcへ追加してみる。
    2. .bashrcへ追加してみるといいよ的な情報もあった気がするので、とりあえず以下のようなコマンドを打ってみました。
hiroshi-no-MacBook-Air:~ hiroshi$ echo "export PATH=\$PATH:/usr/local/Cellar/opencv3">>~/.bashrc
hiroshi-no-MacBook-Air:~ hiroshi$ source ~/.bashrc

 

      どうやら実際は、PYTHONPATHというところに追加しなければいけませんが、詳細はここでは省略。
    1. cv.pyのコピー ・ペースト
    2. これは、どこかの情報にあったわけではないですが、自分で考えて試してみた方法。

 

      /usr/local/Cellar/opencv/2.4.12/lib/python2.7/site-packagesの配下にあるcv.pyをコピーして、/usr/local/Cellar/opencv3/3.0.0/lib/python3.4/site-packagesに貼り付けるという操作です。

 

      Finderを開き、Shift+Command+Gを押すと絶対パスを入力できるボックスがでる。そこに/usr/local/Cellar/opencv/2.4.12/lib/python2.7/site-packagesと入力してreturnを押すと該当のフォルダへ移動する。



      /usr/local/Cellar/opencv/2.4.12/lib/python2.7/site-packagesフォルダの中身。cv.pyがあるので、これをコピー。




      /usr/local/Cellar/opencv3/3.0.0/lib/python3.4/site-packagesの中身。ここにコピーしたcv.pyを貼り付け。

      多分わかっている人からみると、かなりトンチンカンなことをしているようにみえると思いますが、恥も晒しておこうと思います。なんでこんなことをしようと思ったかというと、一つは、なんとなくではありますが、site-packagesの中にpythonのモジュールが入っているとわかっていたことと、もう一つはOpenCVの実際のファイルがcv.pyだと思っていたこと、それとシンボリックリンクなどの概念がごちゃごちゃになっていたために行った操作です。書いてみて思いましたが、そもそもモジュールとかsite-packegesについて理解不足ですよね。

 

    やってみたはいいもののうまくいかなかったのでその場合はもとに戻しましょう。貼り付けをしたcv.pyを削除しておきましょう。

大体試してみたのはこんなところでしょうか。
ところどころ、詳細は省略、として試してみたことだけざっと書きました。忘れないうちに。
飛ばしたところは、もう少し精査してまた書こうと思います。