ソフトウェアエンジニアの勉強ログ

興味があるのは、computer vision, three.js, python, 深層学習, emacs

NVIDIAのGPU付のubuntuにログインしようとしてもできなくなってしまったときの対処メモ

初期症状

  • (明らかに解像度が間違っている)ログイン画面にはなる
  • パスワードをいれると、一瞬エラーが発生しましたみたいな画面になるが、直ぐにログイン画面に戻ってしまう
    • 後からわかったことだが、これらは別の問題で、前者は未解決のまま
  • ubuntu16.04で、GeForce1080を使っている

NVIDIAGPUを使っているときの注意点

ライブCDをいれたときに以下のような確認画面になる(厳密ではない) - run ubuntu without installing - install ubuntu - OEM的な何か - check disk for defect

この画面において以下の操作が必須!

  1. 選択メニューで「e」を押す
  2. quiet splashという単語を探して、nomodesetに置き換える
  3. 起動(私の環境では、F10)

上記の操作を忘れていると色々面倒。

GUIが立ち上がらないときなどの基本事項

  • Alt + Shift + F1でコンソールモードになるのでそこで頑張る
  • さらにGUIをストップする必要があるとき(以下のどれかが、数打てばあたる)

    • sudo sudo service lightdm stop
    • $ sudo service gdm stop
  • GUIのスタート

    • Alt + F7
    • 正し、リブートした方が無難

ディスクチェックをしよう

今回はこれでは直らなかったが、覚えておいた方が良い。 ここで注意点はこの操作の際も、CDのubuntuを、nomodesetで立ち上げる必要があることだ。

ubuntuが動かなくなりました。昨日までは普通に動いたのに急に添付ファイルの画... - Yahoo!知恵袋

まとめると、一度なんとかubuntuを立ち上げて、gpartedを実行して、ディスクをチェックすれば良い。

Ubuntu16.04にNVIDIAのドライバをいれたときのおさらい

結局、ドライバを入れ直す作業が有効だった。 以下のサイトを見て、その操作を行った。

askubuntu.com

操作の具体例は、以下のサイトがわかりやすい。

qiita.com

なお、現時点での最新のドライバは、別のPCで調べるべき。 2017年8月5日時点では、384だったので、

sudo apt-get install nvidia-384

そして、リブートしたら直った。

自分用メモ:「初めてのThree.js」を読む&手を動かす

  • 「初めてのThree.js」を読んだ際のメモ記事
    • 逐次更新

一章

  • ローカルウェブサーバは以下のコマンドだけで立ち上がる
    • cloneしたレポジトリのディレクトリで実行する必要があるらしい
python -m SimpleHTTPServer
  • requestAnimationFrameとはモダンブラウザでサポートされていて、ブラウザによって定義された感覚で呼び出す関数を設定できる
    • setIntervalでは、focusのチェックもしないから裏でも走ってCPU利用率が高くなるとき、setIntervalは画面の再描画と同期されないなどの問題があるらしい。
  • 一章で書かれている内容は、必ず必要になる手順なので、htmlに書いても良いけど、jsでラッピングしても良いよね

二章

  • sceneオブジェクトの重要なプロパティや関数
     説明
add(obejct) シーンに足す
children 追加されたオブジェクトの一覧(配列?)
getObjectByName(name) オブジェクト名からオブジェクトを取得するのだろうが、どうやってオブジェクト名を指定するの?
remove(object)
tranerse(function) すべてのchildrenに関数を適用する

自分用メモ:Emacsの設定

逐次更新します

C-hの挙動をバックスペースに変更

akisute3.hatenablog.com

jsの編集モードをインストール

daifuku-p.org

  • 何も考えず以下の手順でいけた
    1. M-x package-list-packagesでpackageの一覧を取得
    2. js2-modeを選んでiで選択
    3. xでインストールを実行
    4. ~/.emacs.d/init.elを編集(自分はこれを使っているので)

Ctrl-Spaceで選択できるようにする

markdownEmacsで書いて、気軽に確認する

pythonのタブ幅を指定

  • 以下をinit.elに追加
;;python-mode
(add-hook 'python-mode-hook
      '(lambda()
         (setq indent-tabs-mode t)
         (setq indent-level 2)
         (setq python-indent 2)
         (setq tab-width 2)))

自分用メモ:three.jsで遊ぶ環境つくり&Git Hubにレポジトリを作ってみる

  • 目標としては、物理演算を試すところまでやりたい

gitをインストール

$ sudo apt-get install git

GitHubのアカウント作成と、レポジトリの作成

  • ハマりポイントは特にないと思う。

sshの設定

qiita.com

three.jsのマスタディレクトリを開発ディレクトリにもってきてignoreにする

qiita.com

以下の感じで無視されるようになる。

xxxx@xxxx:~/prog/threejs_handson$ git add *
The following paths are ignored by one of your .gitignore files:
three.js
Use -f if you really want to add them.

自分用メモ:動的計画法の章を読んでみた

  • 「これなら分かる最適化数学」の「動的計画法」の章を読んだ
  • 動的計画法は実装したことがあるので、簡単に読み飛ばした
  • 以下は、その際のメモ(整理していない)
  • 基本的には以下の問題
    •  J = f(x_1,\cdots,x_n) -> max
  • 今までは、経路最適問題で考えていたけど数式的に追えたのが良かった
  • 連続的な変数でも、離散値で近似してしまうという発想があるのか
    • 十分に実際的な最適解が得られるそう
  • 問題を上手に、動的計画法におとしこめるか?というのが重要になる気がした

    •  J = g_1(x_1)g_2(x_2)\cdots g_n(x_n)のときに、logを取ればよいというのは面白い
    • 逆に、制約条件が x_1 x_2 \cdots x_n = Mのときに、logをとって x'=log xとするのも面白い
  • なお、はてなで数式を書く時は以下を参照すると良い

Ubuntu16.04とWindows10のデュアルブート環境を整えた

まずは以下のページが最も詳しいと思うので、それにそって準備をする。 www.iandprogram.net

実際の手順

  1. Windowsで高速スタートアップの無効化

    • 不要な場合もあるようですが、必要でした
  2. Windowsのドライブを縮小

    • SSDubuntuを入れたいので、SSD(500G)のwindows領域を半分に縮小
    • 同時に、Dドライブ(2T)のデータ領域も半分に縮小(不要なそうなの可能性あり)
  3. Ubuntu16.04のディスクを作成

    • DVDに焼いた
  4. Ubuntuのインストール

  5. NVIDIAのドライバのインストール

  6. emacsのインストール

    • $ sudo apt-get install emacs
      • 細かい設定は今度にする
  7. ubuntuchromeをインストール

  8. CapsLockキーをCtrlにする

  9. grubの設定を変えて、windowsがメインで立ち上がるようにする

ubuntuからwindowsディレクトリが見えてしまっている。 なんとなく、windowsubuntu側からはアクセス不許可にしたいがどうしたら良いだろうか?

以下のリンクが非常にわかりやすい。 結論から言うと、homeではセキュアな状態にするのは無理そうだ。。。ぐぬぬぬ。

www.abten.net

深層学習勉強用のPCを検討する

googleが面白そうな論文を発表しました。

仮想空間上で強化学習というのはいかにも面白そうだとかなりインスパイアされました。そこで以下の状況を鑑みて、思い切って高性能PCを購入することにしました。

  • 形からはいるのが好き
  • 人生で一回ぐらいは自分だけの高性能PCで遊んでみたい
  • Ubuntuのインストールなどを、自一から勉強してみたい
  • ボーナスが出た

そのときの、作業備忘です。

筐体

置く場所があまり広くないので、GeForce1080を選択可能な中でできるだけ小さい筐体であることを優先しました。

  • ドスパラで「GALLERIA MG」だと、185(幅)×395(奥行き)×370(高さ) mm
  • パソコン工房で「STYLE-E022」だと、約幅173mm×奥行390mm×高さ360mm
  • DELLはそもそもGeForce1080を選択できなかった

 構成

  •  CPUは、こだわらなかったが、とりあえずCorei7
  • メモリは、拡張することも視野にいれながら8G x 2
  • デュアルブートにすることから、起動が早いほうが良いので、OSインストール用にサムスンSSD×1、データ用に2TBのHDD。

モニタ

デルのモニタを会社で使っていて、気に入っているのでそれを採用

デル24型モニタ | P2417H

 

続きを読む