開発環境の構築のために、Vagrantを利用して、Ubuntuをインストールする手順を紹介します。
以下のURLからVirtualBoxとVagrantをダウンロードし、インストールします。
【Windows】の場合:
コマンドプロンプトを起動し、以下のコマンドを実行します。
> mkdir ubuntu > cd ubuntu
Windowsの64bit版を利用している場合、以下のコマンドを実行します。Ubuntu18.04がインストールされます。
> vagrant init ubuntu/bionic64 > vagrant up --provider virtualbox
なお、Windowsの32bit版を利用しているなら「ubuntu/xenial32」に変更します。すると、Ubuntu16.04(32bit)がインストールされます。また、Ubuntu16.04を利用する場合には「ubuntu/xenial64」に変更します。
何かの処理を実行したときに、メモリエラーが出てしまったとき、Vagrantfileをテキストエディタで開いて以下の設定を書き加えてください。機械学習の用途で利用するには必須の設定です。以下はメモリを8GB(8192MB)に設定します。
Vagrant.configure("2") do |config| // --- ここから:追記 --- config.vm.provider "virtualbox" do |vb| vb.memory = "8192" end // --- ここまで:追記 --- end
そして、以下のコマンドを実行してVirtualBoxを再起動して設定が反映されるようにします。
> vagrant halt > vagrant up
なお、VirtualBoxを開いて、GUI画面でメモリを増やすのと同じです。うまく設定できない場合、直接変更するのもありです。
また、Jupyter Notebookを動かすときには、ポートフォワーディングの設定を行わないと、PC内のブラウザでJupyterを動かすことができません。
Vagrant.configure("2") do |config| // --- ここから:追記 --- config.vm.network "forwarded_port", guest: 8888, host: 8888, host_ip: "127.0.0.1" config.vm.network "private_network", ip: "192.168.33.33" // --- ここまで:追記 --- end
Jupyter Notebookの設定ファイル「~/.jupyter/jupyter_notebook_config.py」を作成し以下のように設定します。
# ~/.jupyter/jupyter_notebook_config.py c = get_config() c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = 8888
Jupyter Notebookを起動し、コンソールに表示されたURL、あるいは「192.168.33.33:8888?token=xxx」にアクセスします。
以下のようなエラーが出て、うまくインストールが完了しなかった場合、ハードウェア仮想化をオフに設定する必要があります。この場合、64bit版の方でも、32bit版をインストールしてください。
VT-x is not available (VERR_VMX_NO_VMX).
そして、以下のコマンドを実行して、ハードウェア仮想化をオフに設定します。
> cd "C:\Program Files\Oracle\VirtualBox" > VBoxManage modifyvm (VMの名前) --hwvirtex off > VBoxManage modifyvm (VMの名前) --vtxvpid off
このとき、VMの名前は、VirtualBoxの管理画面を開き、仮想マシンを選び、右クリックして[設定]メニューをクリックします。そして、[基本 > 一般 > 基本 > 名前]にあるのでコピーします。
また、当然と言えば、当然ですが、複数の仮想環境を同時に利用することはできません。例えば、VirtualBoxを利用していると、Docker for Windowsが使えませんし、Docker for Windowsを利用していると、VirtualBoxが利用できないことがあります。
ターミナル.appを起動し、以下のコマンドを実行します。
$ mkdir ubuntu $ cd ubuntu $ vagrant init ubuntu/xenial64 $ vagrant up --provider virtualbox