もともと自分が知りたかったということもあり、DeepLearningの話を社内勉強会で発表しました。
そもそも機械学習自体を知らない人もいるので、入門的な機械学習とはなにか?から始めたのですが、
結局、中途半端に数式をいれたり削ったりしたために、結局わかりづらいスライドになってしまった感が否めません。
何か間違いなどあれば指摘していただければ幸いです。
www.slideshare.net
もともと自分が知りたかったということもあり、DeepLearningの話を社内勉強会で発表しました。
そもそも機械学習自体を知らない人もいるので、入門的な機械学習とはなにか?から始めたのですが、
結局、中途半端に数式をいれたり削ったりしたために、結局わかりづらいスライドになってしまった感が否めません。
何か間違いなどあれば指摘していただければ幸いです。
www.slideshare.net
特に問題なくアップデートできました。
EI Captianから/usr/localを自分で作れなくなったので、EI Capitanからbrewのデフォルトである/usr/local/Cellarが使えません。
ただ、Yosemiteからの移行の場合は、すでに/usr/local/Cellarが作られているはずで、問題なくアップデートできました。
その際、いくつかやるべき手順があったので、メモしておきます。
そもそもbrew cask updateをかけても以下のエラーが出ており、困っていたので実行しました。
$ brew cask update ==> error: Ref refs/remotes/origin/master is at 3eaf298cbbe8fc31d5f022e742c8b5dc ==> error: Cannot lock ref 'refs/remotes/origin/master': ==> Error: Failure while executing: git pull --ff --no-rebase --quiet origin ref error: Ref refs/remotes/origin/master is at 3eaf298cbbe8fc31d5f022e742c8b5dcd0ef06aa but expected cd5cc7e2d6be6d657a749570551f71564da06437 error: Cannot lock ref 'refs/remotes/origin/master': Error: Failure while executing: git pull --ff --no-rebase --quiet origin refs/heads/master:refs/remotes/origin/master brew cask update 2.98s user 2.25s system 42% cpu 12.327 total
そもそも、その前にEI CapitanからRootlessという概念が加わり、操作できないディレクトリが増えました。
OS X 10.11 El Capitanにアップデートするさいの注意点まとめ。
なので、その対応がbrewに関しても必要となっています。
1. brewが使う/usr/localの権限を変更する。
homebrew/El_Capitan_and_Homebrew.md at master · Homebrew/homebrew · GitHubに書いてあるとおり、実行します。
そこそこ時間がかかります。
sudo chown -R $(whoami):admin /usr/local
2. brew のレポジトリを最新にする。
/usr/localの権限を変えただけだと、まだ$ brew cask updateのfetchエラーが出ていたので、以下を実行しました。
$ cd `brew --prefix` $ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = false autocrlf = false [remote "origin"] url = https://github.com/Homebrew/homebrew.git fetch = +refs/heads/*:refs/remotes/origin/* $ git fetch origin $ git rebase origin/master
これで、repositoryを最新にして動かすことができました。
参考:qiita.com
デフォルトではcomposerなどがホームディレクトリに入ってしまうので、
anyenvで入れたphpenvで切り替えた時に、対応ができません。
anyenvの入れ方はyuutookun.hatenablog.com
を参照してください。
ですので、別の入れ方をする必要があります。
phpenv 環境で composer global でパッケージをバージョン別にインストールするプラグイン - ngの日記を参考にいれてみました。
まず、以下を入れます。
ngyuki/phpenv-composer · GitHub
$ cd ~/.anyenv/envs/phpenv/plugins $ git clone https://github.com/ngyuki/phpenv-composer.git $ phpenv rehash
次にcomposerを実行します。
$ cd ~/.anyenv/envs/phpenv/plugins $ phpenv-composer/libexec/composer Download composer.phar ... #!/usr/bin/env php All settings correct for using Composer Downloading... Composer successfully installed to: /Users/yuto/.anyenv/envs/phpenv/plugins/composer.phar Use it: php ./composer.phar Move composer.phar to /Users/yuto/.anyenv/envs/phpenv/versions/5.6.9/composer ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.0-dev (c41079192f38f0fc446b17baa8f628dcb3b61e7d) 2015-09-28 09:38:16
出力から分かる通り、composer.pharがphpの5.6.9のフォルダ以下に移動されています。
ここで、ホームディレクトリを確認すると、ちゃんと移動していることがわかります。
$ phpenv-composer/libexec/composer config -g home /Users/yuto/.anyenv/envs/phpenv/versions/5.6.9/composer
例えば、larabelをインストールすると、
$ phpenv-composer/libexec/composer global require "laravel/installer=~1.1" $ ls ~/.anyenv/envs/phpenv/versions/5.6.9/composer/vendor/ autoload.php bin composer guzzlehttp laravel react symfony
でちゃんとインストールされていることがわかります。
実行環境
phpのバージョンを管理するphpenvを入れようと
brew install phpenv brew install php-build
をしたところ、phpenvが動かなかった*1ために、anyenvを入れることにしました。
anyenvはphpだけではなく、ruby, python, perl, nodeなどenv系をまとめていれることができます。
ほぼ、欲張り?anyenvでモダンな開発環境構築。PHP,NodeJS,Ruby,Perl,Python - Qiitaを参考にして、いれました。
まず、
自分のローカルに入っているenv系を削除します。
brew remove phpenv brew remove rbenv
env系が削除できたら、
git clone https://github.com/riywo/anyenv ~/.anyenv
次に、パスを追加します。
今まで入れていたenv系はコメントアウトして、 ~/.zshenv に以下を書き加えました。
if [ -d $HOME/.anyenv ] ; then export PATH="$HOME/.anyenv/bin:$PATH" eval "$(anyenv init -)" # tmux対応 for D in `\ls $HOME/.anyenv/envs` do export PATH="$HOME/.anyenv/envs/$D/shims:$PATH" done fi
その後は、再読み込みです。
source ~/.zshenv
ここでanyenvを使い、インストールします。
$ anyenv install plenv $ anyenv install pyenv $ anyenv install rbenv $ anyenv install phpenv
ただこのままだと、自分の環境では以下の様に、plenvとpyenvが入りませんでした。
phpenv: * system (set by /Users/yuto/.anyenv/envs/phpenv/version) plenv: /Users/yuto/.anyenv/libexec/anyenv-versions: line 12: plenv: command not found pyenv: /Users/yuto/.anyenv/libexec/anyenv-versions: line 12: pyenv: command not found rbenv: * system (set by /Users/yuto/.anyenv/envs/rbenv/version)
そこで、以下のanyenvのプラグインを入れることで解決しました。
$ mkdir -p $(anyenv root)/plugins $ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update $ anyenv update $ git clone git://github.com/aereal/anyenv-exec.git $(anyenv root)/plugins/anyenv-exe $ git clone https://github.com/znz/anyenv-git.git $(anyenv root)/plugins/anyenv-git $ anyenv git gc $ anyenv versions phpenv: * system (set by /Users/yuto/.anyenv/envs/phpenv/version) plenv: * system (set by /Users/yuto/.anyenv/envs/plenv/version) pyenv: * system (set by /Users/yuto/.anyenv/envs/pyenv/version) rbenv: * system (set by /Users/yuto/.anyenv/envs/rbenv/version)
ここからは、インストールするだけです。
$phpenv install 5.6.9 phpenv versions * system (set by /Users/yuto/.anyenv/envs/phpenv/version) 5.6.9 $ phpenv global 5.6.9 $ phpenv versions system * 5.6.9 (set by /Users/yuto/.anyenv/envs/phpenv/version)
このままだと、
$ php -v PHP 5.5.27 (cli) (built: Jul 23 2015 00:21:59) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
なので、以下操作で反映されました。
多分、どこかでzshenvの再読み込みを忘れていたようです。
$ source .zshenv $ php -v PHP 5.6.9 (cli) (built: Sep 28 2015 23:38:48) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans
*1:具体的には、./phpenv以下にbinファイルが作られなかった