Ubuntu 14.04 にVNC serverを構築
なぜか、普通のやり方で構築すると、ログインした際に灰色の画面(gray screen)になってしまう現象に直面。 以下のサイトを参考に対応できた。
How To Setup VNC For Ubuntu 12 | DigitalOcean
最後のセキュアにするところは、ご自由に。
ちなみに、/etc/init.d/vncserver で起動するが、上記サイトでは決め打ちになっていたので、 USER, DISPLAYはserviceコマンド実行時にパラメータを渡すように修正した。
蛇足
操作を誤ったからか、試行錯誤している最中におかしなことをしていたか、 以下のUbuntu 14用のやり方も、ほぼ上記と同じだと思うのだが、以下ではうまく行かなかった。
How to Install and Configure VNC on Ubuntu 14.04 | DigitalOcean
Word2vecの仕組みの勉強
Ubuntu server 14.04で日本語入力できない
Mozcが出てこない。
以下のコマンドで言語関連ライブラリをインストール
sudo apt-get install fcitx fcitx-mozc fcitx-libs-qt5 fcitx-frontend-qt5 sudo apt-get install language-pack-ja
右上のEnを右クリック→Text Entry Settingsで、 +アイコンから、Japaneseを追加。これで、日本語キーボード配列で入力が可能になるはず。 まだ、日本語文字が打てるわけではない。
他サイトを見ていると、ここにMozcが表示されるようなのだが、されない。
右上の歯車アイコン→System Settings→Language Supportで Keyboard input method として、 fcitx を設定。 一度、ログアウトしてログイン。
これで右上にキーボードアイコンが表示されたはず。
キーボードアイコンをクリック→Configure Current Input Methodで、 +アイコンから Mozcを追加(ここの選択リストの表示領域が異常に小さい)
Mozcを一番上に持っていく(プラスアイコンの右の方にあるボタンで移動できる)
これで、半角/全角キーでいつも通りに切り替えられるようになる。
補足
キーボード配列を日本語と英語に切り替えるには、Super+Space
Superとは、ウィンドウズキーのこと
NVIDIAドライバ環境でUbuntu serverにGUIインストール
大いにハマった。
以下の順に行うことで、うまくいった。
最初に3と2を逆にやったためか、Xorgの設定がうまく行われず、startxすると画面が真っ黒になり、どうにもならなかった。 NVIDIAドライバはインストール時にXorgの設定を自動的にやってくれるので、それに任せるのが一番。
以下のサイトを頼りに設定したが、私の環境ではうまくいかなかった。
- Ubuntu14.04にCUDA Toolkit or NVIDIAグラフィックスドライバを入れるとGUI環境でログインできなくなる問題について - 六彩庵
- UbuntuでNVIDIAのディスプレイドライバが動作しない場合のチェック項目 - Qiita
- [SOLVED] Intel graphics problem with Ubuntu 12.04 -- previously had Nvidia
startxすると画面真っ黒から、タイムアウトして戻ってきてしまう。 ログを見ると、GLXモジュールがロードできない現象だったが、解決できなかった。
EC2のGPUインスタンスにTensorflowインストール
追記
NVIDIA AMIではうまく行かなかったので、まっさらなUbuntuを元に以下を参考にコマンドをコピペすれば出来る。
AWSインスタンス上にTensorFlow:GPGPU環境を作成する | テクノスデータサイエンス・マーケティング株式会社
一部、違うのは、ビルドツールBazelのバージョンは最新をインストールすること。じゃないと、エラーになる。 (ブログでは0.1.1だが、最新は0.2.1) あとは、cuDNNのインストールは上記ブログよりは下記のようなネットワークインストールの方が個人的には好き。
TensorFlow (GPU版) を Ubuntu にインストールしてみた - Qiita
以下はうまくいかなかった時の作業ログ。
前提
TensorFlowのパッケージビルド
git clone --recurse-submodules https://github.com/tensorflow/tensorflow TF_UNOFFICIAL_SETTING=1 ./configure Please specify the location of python. [Default is /usr/bin/python]: Do you wish to build TensorFlow with GPU support? [y/N] y GPU support will be enabled for TensorFlow Please specify which gcc nvcc should use as the host compiler. [Default is /usr/bin/gcc]: Please specify the Cuda SDK version you want to use, e.g. 7.0. [Leave empty to use system default]: Please specify the location where CUDA toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: /opt/nvidia/cuda Please specify the Cudnn version you want to use. [Leave empty to use system default]: 2 Please specify the location where cuDNN 2 library is installed. Refer to README.md for more details. [Default is /opt/nvidia/cuda]: Invalid path to cuDNN 2 toolkit. Neither of the following two files can be found: /opt/nvidia/cuda/lib64/libcudnn.so.2 /opt/nvidia/cuda/libcudnn.so.2 .2 Please specify the Cudnn version you want to use. [Leave empty to use system default]: 6.5 Please specify the location where cuDNN 6.5 library is installed. Refer to README.md for more details. [Default is /opt/nvidia/cuda]: Please specify a list of comma-separated Cuda compute capabilities you want to build with. You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus. Please note that each additional compute capability significantly increases your build time and binary size. [Default is: "3.5,5.2"]: 3.0 Setting up Cuda include Setting up Cuda lib64 Setting up Cuda bin Setting up Cuda nvvm Configuration finished
ビルドエラー1
bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer Extracting Bazel installation... ........ INFO: Found 1 target... ERROR: /home/ec2-user/.cache/bazel/_bazel_ec2-user/0ff5a3f6434c30269b5495d73aade5d5/external/re2/BUILD:9:1: C++ compilation of rule '@re2//:re2' failed: crosstool_wrapper_driver_is_not_gcc failed: error executing command third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -fPIE -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object ... (remaining 36 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 127. /usr/bin/env: python2: No such file or directory Target //tensorflow/cc:tutorials_example_trainer failed to build Use --verbose_failures to see the command lines of failed build steps. INFO: Elapsed time: 15.320s, Critical Path: 3.85s
python2を使おうとしてエラーになるので、python27のシンボリックリンクを作成
sudo ln /usr/bin/python27 -s /usr/bin/python2
ビルドエラー2
ERROR: /home/ec2-user/tensorflow/tensorflow/core/kernels/BUILD:1121:1: output 'tensorflow/core/kernels/_objs/depth_space_ops_gpu/tensorflow/core/kernels/depthtospace_op_gpu.cu.o' was not created. ERROR: /home/ec2-user/tensorflow/tensorflow/core/kernels/BUILD:1121:1: not all outputs were created. Target //tensorflow/cc:tutorials_example_trainer failed to build
これの理由が不明。Bazelのバージョン問題? 追記では、最新の0.2.1でうまくいったので、よくわからない。
ImportError: No module named cv2
前提
- OS: Amazon Linux(CentOSみたいなもの)
- AMI: Amazon Linux AMI with NVIDIA GRID GPU Driver on AWS Marketplace
- python 2.7
PFN発のディープラーニングフレームワークchainerで画像分類をするよ(chainerでニューラルネット1) - 人工言語処理入門
このブログを元にChainerのimagenetを試そうとしたが、上記ブログ主作成のcrop.py実行のところで、ハマった。
crop.py を実行するとエラーが出る
ImportError: No module named cv2
pip install cv2 でインストールしても治らない。
cv2は/usr/local/lib/python2.7/site-packages にインストールされているし、
import sys print sys.path
をして、パスが通っているのも確認した。
Installing OpenCV for Python on Ubuntu, getting ImportError: No module named cv2.cv - Stack Overflow
I think you don't have the python-opencv package.
これを見て、OpenCVがないとダメなの?ということで、他の記事も発見
ということで、以下を参考にOpenCV3.1.0をインストールした。
OpenCV2.4.5をamazon linuxにインストールする
インストールしても、まだパスが通ってないので、.bashrcに以下を追加。
export PYTHONPATH=/usr/local/lib/python2.7/dist-packages:$PYTHONPATH
source .bashrcをしてから動作確認。エラーが出なければOK
python >>> import cv2
補足
crop.pyを実行する際に注意が必要なのが、出力先のimagesディレクトリを作ってから実行しないと 変換ファイルが出力されないので注意(エラーが出なかったので、最初、わからなかった)
Bazelインストール
前提
現在のBazelインストールにはJDK8が必要。以下ではver 0.2.1をインストールする。
公式ドキュメント Installing Bazel - Bazel
以下、作業ログ
# JDK8インストール sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel # JDK7があったので、JDK8に切り替える sudo alternatives --config java java -version javac -version sudo yum install swig # Bazelソースコード取得 git clone https://github.com/bazelbuild/bazel.git cd bazel # 最新のタグを確認して切り替え(不要かも) git tag git checkout tags/0.2.1 # Bazel インストール ./compile.sh sudo cp output/bazel /usr/bin/
JAVA_HOMEを指定しないとエラーが出る場合がある(私の場合は出た)
JAVA_HOME (/usr/lib/jvm/jre) is not a path to a working JDK.
その場合は指定してインストール(今後のためにも、.bashrcで設定した方がいいかも)
JAVA_HOME=/usr/lib/jvm/java ./compile.sh
参考サイト