Ubuntu 18.04 で、NVIDIAのリポジトリを利用してtensorflow-gpu環境を構築するシンプルな方法

2021/12/19追記: より新しく確実な方法を書きましたので、そちらをご参照ください。これはもう古いです。こちら(Ubuntu 20.04 / 18.04 環境で CUDA 10.2, FSL 6.0.5, Tensorflow, PyTorch をセットアップする方法)になります。CUDA 10.2 ですが、他のバージョンにも容易に応用できる方法です。

Ubuntu 18.04で、ディープラーニング環境を構築したいと考えました。

いろいろネットの情報を得てトライしてみたのですが、苦戦しました。
しかし、トライしているうちに、いくつか大事なことがわかってきました。

ポイントは、以下のとおりです。

  • グラフィックボードのドライバーによって使えるCUDAのバージョンが異なる
  • まずいちばん大事なのはこれです。ドライバーが古いものしか対応していないと、対応するCUDAのバージョンも古くなります。

  • NVIDIAはリポジトリをdebファイルで配布しているので、それを使うのがよい
  • これから詳しく記載します。

  • カーネルはデフォルトのものを使う
  • カーネルを最新のものを追いかけるとCUDAは動かないという事象が起きます。Ubuntu 18.04では、標準が4.15、そしてHWEが4.18です。CUDAは、この2つのバージョン(標準とHWEカーネル)だけサポートします。詳しくは、NVIDIAのページをご覧ください。

これらのコツをつかんだら、再現性が高くセットアップすることができるようになりました。
Step by Stepで示します。

続きを読む

グラフィックカードの出力が全くうつらなくなった時にはDisplay Portを疑うのもひとつ

現在、GPUでの機械学習ができる環境を構築しています。
様々な試行錯誤があるので、これはこれで別の記事になるのですが、
非常に困ったことが起こりました。

NVIDIAのGeForce RTX2070というグラフィックボードを入手したのですが、

Linux (Lin4Neuro based on Ubuntu 18.04)のインストールまでは全く問題ないのですが、NVIDIAのドライバーをインストールすると、再起動後、画面が全くうつらなくなるのです。
そして、Ctrl+Alt+Deleteも受け付けなくなり、ハードリセットしか方法がなくなります。

折角よい性能のグラフィックボードを入手したのにどうしてうつらなくなってしまうんだろうとネットの情報を探しまくりましたがなかなか情報が見つかりませんでした。
1ヶ月、問題が解決しませんでした…。

そのような中、ふと「ソフトがダメならハードか?」と思いました。

Display Portを使って画面を出力していましたが、HDMIに変えてみたらどうだろうと思い、変えてみたところ、あっさりうつりました…。

“NVIDIA” “Display Port” “Black screen”で調べると情報がちらほら出てきました。
やらなきゃいけないことがたくさんあるので、これ以上の調査はしないでおきますが、

今日の結論は、「画像の出力がおかしかったらDisplay PortをHDMIに切り替えてみよう」ということでした。

According to … は情報源を示す時に使うもの

先日、論文校正をお願いしたのですが、そこでひとつ学びがありました。

「査読者の提案に従って」という内容を私は

According to the reviewer’s suggestion, …

と書いていたのですが、それが

As per the reviewer’s suggestion, …

と修正されていました。

According toはどうしてよくないのかなと思って、校正をお願いした野口メリッサさんに「According toとAs perの使い分けを教えてください」とお聞きしたところ、とてもわかりやすい回答をいただきました。
ご本人の許可をいただいたので、そのまま転載します。

Those phrases can be really confusing. I’m not sure why, but your original (incorrect) use of ‘according to’ is a very common mistake among Japanese writers. Perhaps it was taught wrong in school, or perhaps you read it in other articles so you get the false sense that it’s correct. I believe that most people who make this mistake are mixing up the two phrases ‘according to’ and ‘in accordance with’.

“According to” is used to refer to a fact or information that is reported by someone else. For example, I might say something like, “according to the weather forecast, it’s going to rain tomorrow;” or, “according to the Ministry of Education, 63% of high school graduates go on to university.”

“In accordance with” is used when you are doing something based on a rule or a law, or when you’re doing something based on a strong recommendation or a suggestion from a expert or respected source. For example, “in accordance with the law, I never drive above the speed limit;” or, “in accordance with the committee’s recommendation, the company decided to reduce their staff by 15%.”

“As per” (or simply “per”) has basically the same meaning as “In accordance with.” (see: https://www.collinsdictionary.com/dictionary/english/as-per )

“According to” は、ある情報に言及する際に、情報源を示す場合に使う
“In accordance with” は、その文章の主語が行動を起こす際に、「(法律、規則や専門家の意見など)に従って…」、という場合に使う
“As per” は、”in accordance with”と同じ

ということですね。

Collins辞書をご紹介いただいたので、According toも調べてみました。
https://www.collinsdictionary.com/dictionary/english/according-to

If someone says that something is true according to a particular person, book, or other source of information, they are indicating where they got their information.

「情報源」を示しているわけですね。

In accordance withはこう紹介されています。
https://www.collinsdictionary.com/dictionary/english/in-accordance-with

If something is done in accordance with a particular rule or system, it is done in the way that the rule or system says that it should be done.

「従うべきものに従って」行う時に使う感じが伝わってきますね。

となると、私がもともと使った”According to the reviewer’s suggestion”ははっきり間違いとわかります。
査読者の指摘に従ってこう修正しましたと言いたいのに、査読者に向かって「あなたから得た情報によると」というのはおかしいですよね。
むしろ、「専門家であるあなたの意見に従います」ということで、In accordance with the reviewer’s suggestion, もしくは、As per the reviewer’s suggestion, とするのがより適切なわけですね。

勉強になったのと、おそらく誤用されていることが多いと思うので、紹介させていただきました。

私がいつも校正でお世話になっているELCS; English Language Consultation Services(エルクス英語コンサルタント)さんはとてもよい仕事をしてくださいます。日頃からたくさん助けていただいているので紹介させていただきます。なお、私はELCSのサービス利用者の一人という立場であり、宣伝依頼などは何も受けていません。