読者です 読者をやめる 読者になる 読者になる

Itsukaraの日記

最新IT技術を勉強・実践中。最近はDeep Learningに注力。

自宅ITインフラ強化(2016/7/04-10)

ITのお勉強 IOT PC環境のトラブル対応 機械学習

先週(2016/7/04-10)行った自宅ITインフラ強化の内容をメモ代わりに記載します。

デスクトップPCにメモリ追加(16GB)

機械学習ではメモリが足りなくなる可能性もあり、早々にメモリを追加しました(16GB)。現在、メモリはかなり安くなっており、約7000円で16G追加できました。

しかし、次のように問題が発生しました。

Windows 7でメモリが16GBしか使えない

メモリ追加後、BIOSUbuntuWindows 7で合計32GBのメモリが認識されたのですが、Windows 7では「実装メモリ(RAM) 32.0GB(16.0GB使用可能)」になってしまいました。Webで調べたら、メモリカード刺し直し、BIOS設定再確認/リセットなど、いろいろ書いてあり、試したのですが、全てダメでした。

更に調べたところ、Windows 7 Home Premiumでは最大使用可能メモリが16GBとのこと。Windows 7は結構古いOSなので、こんなもんなのですね。更に調べると、Windows 10ならばHome Editionでも128GBまで使えるとのこと。

Windows 10の無料移行期限は7/28なので、ちょっとだけ早いですが、Windows 10に移行することにしました。

Windows 10移行

自宅にはWindows 7のデスクトップPCが2台あったので、両方一緒にWindows 10に移行しました。インストールでは、何回も再起動があり、(クリーンインストールと比べて)思ったよりも時間が掛かりましたが、Windows 7のデスクトップにあったアイコンも引き継がれ、全てのソフトがそのまま使えました。ただし、一部のソフトは、念のため、新しいバージョンに移行しました。

Windows 10移行に関連して裁判沙汰になるなど、世の中で問題になっていますが、結構そのまま使える印象です。

ただ、Windows 10移行後、ブルースクリーンが2日間で6回も出てしまいました。エラーの種類は色々ですが、GTX760に繋がったディスプレイは真黒で、内蔵HD4000に繋がったディスプレイにブルースクリーンが出るという症状です。アクションセンターを見ると、ディスプレイドライバーを更新したという通知が2つも入っていました。

これらにより、ディスプレイドライバーが原因と推測し、GTX760のディスプレイドライバーをクリーンインストールしました。現在、様子を見ているところです。これでブルースクリーンが治まってくれることを祈ってます。

デュアルブートUbuntuが起動せず

Windows 10以外にUbuntuもインストールしデュアルブートにしたノートPCがあったのですが、昨日起動しようとしたら、ビーブ音が鳴りやまず、起動できません。Windows 10は問題なく起動。

よく考えたら、Windows 10をインストールした際に、インストール先のSSD(Sumsung 850 EVO)に付属のソフト(Sumsung Magician)も入れ、Over Provisioningという機能を設定してました。これは、SSDの容量の約10%をSSDハードに委譲し、SSDハードが寿命を延ばすために活用できるようにする機能です。

この機能を解除しないままで、Windowsのボリュームを縮小し、空いた領域にUbuntuをインストールしてました。

これは、動かないはずだ。(Ubuntuは、ハードに委譲した領域にインストールしてました)

それにしても、Over Provisioningで委譲した領域に書き込んだら、後でSumsung Magicianがアラートを出すとか、何かしてほしかったです。人間の管理に任せて終わりとは、不親切ですね。

改めて、Over Provisioningを解除しようとすると、一度、Windowsのボリュームを拡張するようにとの指示。恐々ながら、Windowsのボリュームを一度拡張して、SSDドライブ全体を使うようにすると、ようやく、Over Provisioningが解除できました。

Sumsung MagicianはLinux非対応

Over Provisioningを解除したところで、改めて、Windowsのボリュームを縮小し、空いたところにUbuntuをインストールし、Ubuntuのボリュームを対象にOver Provisioningを実施しようとすると、Sumsung MagicianではUbuntuのボリューム形式を認識できない模様。

Webによると、Linuxにも対応した「Sumsung Magician DC」というものがあるらしいのですが、そのページからリンクを辿ってもSumsungのトップページが表示されるだけで、見つからず。そのサイト内で「Sumsung Magician DC」を探しても、見つからず。なんか、無くなったみたいです。しょうがないので、Over Provisioningは未設定のままにすることににしました。

Ubuntuの各種設定

Ubuntuをインストールしてそのまま使ってましたが、ちょっと調べたところ、いろいろと設定したほうが良い模様Ubuntuの環境は、2セット(Virtual Boxと直接起動)x2台(DesktopとNote)で合計4つもインストールしていたので、それぞれについて、環境設定を行い、思ったよりも時間が掛かってしましました。

ESP8266

ブリッドボード化

以前の記事に書きましたように、ESP8266で少し遊んでましたが、配線が非常に汚いので(ワニ口クリップや、廃材の線を多用)、ブリッドボードを注文してました。これも届いていたので、ブリッドボード化を試みました。

ところが、ブリッドボード化してUSBに接続すると、全く反応なし。色々と確認しましたが、線のつなぎ方は問題なし。ただ、ブリッドボードで繋いだ場合は、USB側の電流が2倍程度に増えていました。具体的には、ブリッドボードを使わない場合は必ず0.08Aだったのが、0.14Aになっていました。

これは、ESP8266が壊れた可能性があると思い、ワニ口クリップを使った古い環境で組み上げると、特に問題なく動作しました。

使ったブリッドボードは、中国製の格安のものだったのですが、ピンが入りにくかったり、緩々だったりしていました。試しに、端子間の抵抗をテスターで測ったところ、1~30オームと、場所によって抵抗が変動し、しかも、その値自体も時間によって変動するという、非常に不安定な状態でした。どうやら、緩々で接触不良が原因と思われます。

そこで、もう少し品質がよさそうなブリッドボードを即購入し、翌日届いて試したところ、すぐに動きました。やはり、格安のブリッドボードが原因だったようです。下記、新しく買ったブリッドボード(サンハヤト)は、格安に比べると3倍以上の値段ですが、品質が全く違うと感じました。

具体的な違いは下記です。

サンハヤトは、格安ブレッドボードと異なり、ピンがしっかりと刺さり、安定感があります。どうも、ピンを刺す部分の板バネの構造が違うみたいです。このブレッドボードのピンは、上記Amazon商品ページに絵が載っているように、表面に近い部分がピン一本毎に独立した板バネになってます。それにより、すべてのピンをしっかりと支えてくれます。

これに対して、格安のブレッドボードは、表面に近い部分まで繋がった板バネになっています(実物で確認)。そのため、ある部分でピンを刺すと、板バネ全体が広がってしまいます。原理的には、最大でもピン2本しか良い接触が得られないと思います。

格安ブレッドボードでは、電源線以外は、何とか繋がりましたが、電源線は多数のピンを刺す必要があったので、格安のブレッドボードでは非常に接触が悪かったです。これが動作不良の原因と思います。

無線LANオンリーで接続

ブリッドボード化したついでに、USBケーブル経由でのシリアル接続をやめて、WIFIのみで繋ぐようにしました。これで、どこへでも持っていけますが、まだまだ無骨いですね。下記は、「電池」+「DC-DCコンバーター」を経由して「ESP8266」を繋いだところです*1。ついでにLEDを刺して、MicroPythonでONしてみました。
f:id:Itsukara:20160712024627j:plain

下記は、WebreplでESP8266に繋いだところです。Webreplを使うと、WIFI経由でブラウザからESP8266のMicroPythonをインタラクティブに使うことができます。そのためには、起動直後にWebreplが立ちあがるように設定する必要がありますが、これは、main.pyというファイル(Flash上のファイルシステムのファイル)に書き込んでおけばOKです*2

f:id:Itsukara:20160712024740j:plain

読書状況

読了

下記は読み終えました。1冊目は、想像以上に軽い本で、文系向けでした。2冊目の「深層学習」は、もう少し読み込もうと思います。

人工知能は私たちを滅ぼすのか―――計算機が神になる100年の物語

人工知能は私たちを滅ぼすのか―――計算機が神になる100年の物語

深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

鋭意読書中

Deep Learning関連の勉強会に参加しており、私自身はまだ2回しか参加していないのですが、7/16から新しい本の輪講が始まり、自分の番が回ってくるので、下記を読み始めたところです。

ITエンジニアのための機械学習理論入門

ITエンジニアのための機械学習理論入門

Deep Learning試行に取組中

勉強会の中で、Deep Learingを実際に試してみようという話になり、3つのテーマで別々に取組中です。私自身は、DQN(Deep Q-Network)を試行する分科会に参加しており、AtariのゲームをDQNで学習するという、例のDeepMindが発表した有名な題材にトライ中です。といっても、まだ、Webの解説記事を読んでいるところですが、なるべく早く、実際に動かしてみようと思います。

ハードやTensorFlow、Chainerなどの基盤環境は整いつつありますが、それ以外の環境(Atariエミュレーターを走らせる環境等)を整えるのは、これからです。

*1:DC-DCコンバーターの調整用にテスターで電圧を表示

*2:先頭でimportしているもジュールposに関しては、以前の記事を参照願います。