理系院生の日記

理系院生である僕が、日々気付いたことや知ったこと、考えたことを書いていきたいと思います。

ubuntu14.04にGTX1080のドライバとCUDA8.0を入れてChainerを動かすまでの最速手順

もうかれこれ何回もこのセットアップ作業を行っているので手順を記しておく。

Ubuntu14.04のインストール

インストールディスクから普通にインストール。
このあとにドライバやcudaのインストールを行っていく際にGUIから離れて黒画面でコマンド操作をしていく工程がある。
しかし,グラボの関係で黒画面にはいった際に文字が表示されない問題があるので以下の記事のコマンドで解消しておく。
rikeiin.hatenablog.com

sudo sed -i -e 's/#GRUB_TERMINAL/GRUB_TERMINAL/g' /etc/default/grub
sudo update-grub
sudo reboot

GTX1080のドライバのインストール

NVIDIAドライバダウンロード
から自分の環境にあったドライバをダウンロードする。
ドライバをインストールする前にX-windowを殺してから作業を行う。まず「Ctrl+alt+F1」でttyに入る。
インストールは以下のコマンドで。

sudo service lightdm stop
chmod +x NVIDIA-Linux-x86_64-375.20.run
sudo sh NVIDIA-Linux-x86_64-375.20.run

あとは流れにそってインストールすればOK。
終わったら念のため再起動

CUDA8.0のインストール

CUDA Toolkit | NVIDIA Developer

上のリンクからCUDA8.0をダウンロードする。
自分は Linux -> x86_64 -> Ubuntu -> 14.04 -> runfile(local)
を選択した。
~/.bashrcに以下のPathを通しておく。

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

ドライバのときと同様にXを殺してからからインストールする。

sudo service lightdm stop
chmod +x cuda8.0.44_linux.run
sudo sh cuda8.0.44_linux.run

あとは流れにそってインストール。終わったら念のために再起動。
コンソールで

nvidia-smi

が成功すればインストールは成功。

cudnnのダウンロード

以下の記事のやり方で。
CUDA 8.0 RCをUbuntu 16.04 LTS + GTX1080にインストール - Qiita

Chainerのインストール

以下の記事にあるような方法でpythonの仮想環境などを構築しておく。
データサイエンティストを目指す人のpython環境構築 2016 - Qiita

Chainerのインストールにはg++のようなC++コンパイラが必要なので以下のコマンドでインストール。

apt-get install g++

あとはpipでインストールするだけ。

pip install chainer

python

import chainer
import cupy
import cupy.cudnn

でエラーがでなければインストール成功!

Windows環境のTeXstudio設定メモ

TeXエディタであるTeXstudioを使うときに初期設定だと日本語環境でコンパイルがうまく行かなかったのでメモ

TeXstudio/設定 - TeX Wiki

設定方法は上のリンクに書いてあるが、それでもうまく日本語を含むTeXファイルをコンパイルできなかった。

いろいろ調べたところ、

まず、メニューバーからオプション⇒TeXstudioの設定を開く

コマンドタブより以下を設定

DviPdf : dvipdfmx -f ptex-ipaex.map %.dvi

これで日本語環境でもコンパイルできるようになる。

2016/12/12 追記:

以上の設定だと

texコンパイルの際に

Couldn't open font map file "ptex-ipaex.map"

という警告がでた。このままだとフォントが正しく埋め込まれないようなので,

  • DviPdf:dvipdfmx.exe %.dvi

という設定で正しくコンパイルできた。

 

【感想・書評】世界でもっとも強力な9のアルゴリズム

今日、至る所にコンピュータが浸透し、また私達自身もスマホという名にコンピュータを日常的に使っている。そして、我々は何気につかっているコンピュータやインターネットでどのようなアルゴリズムが動いているかを全く意識せずに使うことができる。

今回紹介するこの「世界でもっとも強力な9のアルゴリズム」という本は、私達が全く意識せずに使っているが、世界に多大なる影響を与えたアルゴリズムを非常にわかりやすく、情報系の勉強をしていない人でも理解できるように説明してくれている。

この本では無数にあるアルゴリズムの中でも9つに絞って説明しているが、その選定基準は、①普通のコンピュータユーザが毎日使っている②現実世界の具体的な問題を解決うするアルゴリズムであること③主としてコンピュータ科学理論に関係するアルゴリズムであること、である。

紹介されているアルゴリズムを挙げると以下の9つである。

  1. 検索エンジンのインデキシング
  2. ページランク
  3. 公開鍵暗号
  4. 誤り訂正符号
  5. パターン認識
  6. データ圧縮
  7. データベース
  8. デジタル署名
  9. 決定不能性

この中でも特に目からウロコだったのは公開鍵暗号法とデジタル署名の説明だった。この2つのアルゴリズムは情報系の大学生ならセキュリティの授業で習うと思うが、私はこの2つのアルゴリズムが何回説明されてもいまいちピンと来なかった。しかしこの本では「絵の具を混合する」という誰でもわかる例を使って説明してくれるので雷が落ちたような気分になった。いままで大学の授業で「巨大な素数どうしの因数分解は困難だから〜」のような説明ばかりされていたからである。

というわけで、この本を読むだけで情報系の大学生がならうことの大部分を理解できてしまった。この本は情報系ではない一般の人だけでなく、情報工学を学んでいる大学生にもオススメできる。

 

世界でもっとも強力な9のアルゴリズム

世界でもっとも強力な9のアルゴリズム

 

 

野村総合研究所選考体験記(2017卒)

3月15日 NRI career cafe

このイベントは座談会形式の説明会でした。小さな会議室に就活生は25人ほど集められ、社員の方は司会含めて7人いました。
まず最初に簡単な会社説明と社員の自己紹介をスライドを使って30分ほど説明がありました。
NRIの事業は主に経営コンサルとITソリューションに分かれますがこのイベントに来ていた社員は全員ITソリューションの方でした。だいたい入社して5、6年の方が多いように感じました。
 
説明の後はグループに分かれて社員さんを囲んでざっくばらんに質問する、といった形式です。一回が20分で区切られており、それを3回行いました。
 
それが終わったあとはアンケートを記入して終わりです。
 
 

ゴールドマン・サックス選考体験記(2017卒)

ゴールドマン・サックスは言わずと知れた外資投資銀行の一つですね。ここは部門別選考を行っており、併願もできます。今回私はテクノロジー部門の選考を受けてきました。GSの特徴はトレーディングのシステムから社内のチャットツールまでほぼ全て自分たちで作っているということです。そのため証券会社にひとつのIT企業がまるまる入ってるという感じです。ワークショップに行ったときも「GSにはWe build」の精神があると言っていました。

4/16(土)

9:00-13:00

場所は六本木ヒルズ本社。

テスト40分。論理的思考力やアルゴリズムの理解を問う問題。4問中2問回答する形式。

1:1の面接を30分×3回

一人目:日本人と。主にテストに内容について聞かれる。なぜその問題を選んだのか。なぜそのよに考えたか。もっと良い方法はないか。逆質問。

二人目:外国人と英語で面接。主に研究、プログラミング経験を聞かれた。研究内容の説明。研究でどういうプログラムを書いているか。チームでのプログラミング経験。どのようなプログラムか紙に書きながら説明。何が難しかったか。好きな言語と理由。最近学んだこと。紙にフィボナッチ数列を出力する関数を書く。逆質問。

三人目:中国人と日本語で面接。研究内容。テクノロジー部の志望理由。サークルではどういう役割か。複数人のチームで意思決定をするとき、あなたがリーダーならどうするか、多数決とか。プレッシャーがある中で成果を出した経験は。ロールプレイング。紙にコインをおいてどのように勝つかのストラテジーを考える。逆質問。

ソニー選考体験記(2017卒)

技術ジョブマッチング

4/16

品川本社。大量の就活生がいた。広い部屋にブースが作られており、そこで1:1で面談。

ホワイトボードで研究の説明。志望動機。ソニーに入ってなにがやりたいか。最近興味を持っている技術分野。なぜそれに興味があるか。他にどういう会社を見ているか。

かなり和やかな雰囲気でほぼ雑談みたいな感じ。

2週間以内に選考結果を電話かメールで伝えると言われて終了。

日本マイクロソフト選考体験記

マイクロソフトWindowsやOfficeシリーズなどでお馴染みのグローバルIT企業です。

日本マイクロソフトの事業は主にマイクロソフト製品の営業・マーケティングSIerのようなソリューション事業のようです。また、開発も少ししており、こちらはマイクロソフトデベロップメントがやっています。

日本マイクロソフトでは営業職・技術職、マイクロソフトデベロップメントでは開発職を募集しています。採用は別々に行っているのではなく、同じ選考フローのようです。技術職と開発職は併願できます。

 

1.エントリー

エントリー時に基本情報を入力すると同時にレジュメをアップロードしろと言われます。私はネットからダウンロードした履歴書のテンプレートを使いました。

 

2.Webテスト

しばらくするとWebテストの案内が来ます。内容は国語と数学、性格検査です。

数学は他の企業より難しく感じました。

 

3.人事面接

場所は品川にある日本マイクロソフト本社です。さすがマイクロソフト、いい立地でビルがでかいですね。。みん就とかを見ている限り一次選考はグループディスカッションと思っていたのですが、メールには人事面接と書かれていたので今年から選考フローが変わったんですかね。僕と同じタームでは15人の就活生が集まっていました。そのうち5人くらいは女子で意外でした。
さて最初の一時間は会社説明会でした。ネットを見ても募集職種の詳しい業務内容がわからなかったのでこれは助かりました。

そこでわかったこととしては

  • 日本にはおよそ2000人の社員で9割は品川本社で勤務
  • 職種の割合は47%がエンジニア、46.6%が営業・マーケティング、4.3%が管理・人事など
  • 日本マイクロソフトの主な事業はBtoCのコンシューマ事業とBtoBのエンタープライズ事業の2つ
  • コンシューマ事業はWindowsやOffice製品の営業・マーケティング
  • エンタープライズ事業は企業への製品販売やいわゆるSIerのようなソリューション事業
  • マイクロソフトデベロップメントでは、OS、Office、Bing、IMEなどの開発をしている
  • 製品のローカライゼーションだけでなく全世界で使われるような製品の開発も行っている
  • 開発職での募集職種ではソフトのアイデアを出したりデザイン・スペックを書くプログラムマネージャー(PM)とソフトウェアエンジニアの2つ

説明会が終わった後は実際に面接になります。人事と1:1の45分の面接をするわけですが面接官が5人しかいないため3グループに分けて行われました。私は最後のグループだったので約一時間半近く待つことに。。しかし人事の方が即興で仮想サーバやクラウドコンピューティングの講義をしてくれてとても印象がよかったです。

実際の面接で聞かれたことは

  • 他社の選考状況
  • 志望職種とその理由
  • 他の人から自分はどういう人だと思われているか
  • 自分の強み弱み
  • 開発経験

といった感じで自分がやりたいことに関して深堀りされました。また、自分の強み弱みに関しては実際のエピソードも聞かれます。研究内容や技術的なことも聞かれるかと思ったんですがほとんど聞かれませんでしたね(笑)

面接が終わった後はアンケートを書いてお土産の非売品のロゴ入りトランプを貰って終了です。

4.部門面接

人事面接を通過した後は部門面接が待っています。場所は前回と同じ品川本社。ここで部門のリーダー的立場の人と一対一も面接です。面接が行われる部屋への案内は人事面接のときに会社説明をされていた人事と同じ方でいろいろ話かけて頂いてだいぶ緊張がほぐれました。さて、面接で聞かれたことはほぼ志望動機と入社してやりたいことの深堀りでした。そこらへんがしっかりと固めていれば大丈夫だと思います。相変わらず技術的なことはほとんど聞かれません。あとはいつもどおり逆質問です。

 

5.役員面接

部門面接の次は役員面接です。場所はいつもと同じ。ここでは役員・マネージャークラスの方3人と面接で約1時間です。1:3の面接はなかなか緊張しますが、聞かれることは普通の面接と対して変わらないので冷静に受け答えできれば大丈夫だと思います。聞かれたことは、

  • 自己紹介と志望動機
  • 自分の研究内容について割と詳細に
  • 最近の気になる製品
  • バイトとサークルについて
  • 何にやりがいを感じるか
  • 将来どうなりたいか、そしてそうなる覚悟はあるか
  • 自分の強み
  • 英語はどのくらいできるか
  • プログラミング経験
  • 逆質問ひとつ

面接が終わったら人事の方に結果は一週間以内に連絡すると言われて終了です。

6.内定

一週間以内に連絡すると言われましたが実際には一ヶ月以上たってから内定の連絡が来ました。。