Debian BusterでTensorflow2 GPUを導入したよ

こんにちは。機械学習っていうのをやってみたくて(Microsoft Flight simulator2020もやりたくて)PCを組みました。

  • Ryzen 7 3700X
  • GeForce RTX 2070
  • 32GBメモリ
  • 1TB m.2 SSD + 256GB SATA-SSD
  • Windows10pro + Debian Buster

ハコとかその他はもらったりしたものなのと、Windows 8 Proのライセンスがあったので上記あわせて11万円くらいでした。今までグラボはS3派じゃないMatrox派じゃないATI派じゃないAMD派でGeForce使うのは初めてです。

Windows以外で機械学習をやる人はubuntuを使うようですが、前々から使っていたDebianでやってみたいという野望があり、なんとかしています。手元には直感Deep Learningという本があります。これが問題になるのですが後述します。

インストール

OSのインストールは型のごとく行います。Windowsに1TBくれてやり(ゲーム用)、Debian側には256GBというかわいそうな割り当てにしてあります。Linuxのスワップはメモリの2倍、という話が昔からありますが、32GBもメモリつんでてスワップが発生する気がしないのと、64GBもスワップスペースをつくると作業用スペースがなくなるので、8GB程度のスワップとしました。いろいろ現在は流派があるようでスワップサイズが何が正解かは正直わかりません。

https://www.tensorflow.org/install/ を見てtensorflowを入れます。どうも新しい2.xではgpu用のパッケージも一緒になっているらしい。Debianではpython3系のプログラムはpython3だったりpip3だったりするので、pip3コマンドで導入します。

まじめに開発する人は仮想環境を入れた方がいいでしょう。

# Requires the latest pip
pip3 install --upgrade pip

# Current stable release for CPU and GPU
pip3 install tensorflow

https://www.tensorflow.org/install/gpu を参考にgpu対応に必要なものを入れます。Tensorflowを入れるところでwarningが出る(setuptoolsのバージョンが古い)のでもう一回やったら改善しました。Debian BusterのdefaultのNVIDIA driverはVersion 450.66だったのでドライバのアップデートはかからなかったような気がしますが、CUDAを入れるときに勝手に新しくなったよう。

CUDA toolkit (11.1 Sept 2020というのを入れた) https://developer.nvidia.com/cuda-downloads 

sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/debian10/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/debian10/x86_64/ /"
sudo add-apt-repository contribsudo apt-get updatesudo apt-get -y install cuda

CUPTI;上記CUDA toolkitに入っているらしい

cuDNN 8.0.4 Download cuDNN v8.0.4 (September 28th, 2020), for CUDA 11.1  ここはCUDA toolkitとバージョンを合わせた方がいいと思ったので、やはり最新を。具体的には以下の3つをdpkg -i で無理やり導入しました。

cuDNN Runtime Library for Ubuntu18.04 x86_64 (Deb)

cuDNN Developer Library for Ubuntu18.04 x86_64 (Deb)

cuDNN Code Samples and User Guide for Ubuntu18.04 x86_64 (Deb)

以上で一応入りますが、エラーがとにかく出ます。多くはライブラリが存在しないよ、っていうやつです。ビデオカードのドライバ更新も必要ですが、確かCUDAを入れるときに勝手に更新された気がします。

インストールができて、GPUが使われているかはnvidia-smiか何かで見ればいいんですが、サンプルプログラム程度ではCPUで計算してもそれなりに速くってほんとにGPU使ってんのか? っていう感じになり、ちょっと実感としてわかりません。Tensorflow2はご丁寧にGPUが使えない場合、しれっとCPUで計算してくれてしまいます。最初は実行時のログファイルにImportErrorがいっぱい出ていて、これがGPUを使わない原因になっていたようでした。

環境変数 $LD_LIBRARY_PATHに/usr/local/cuda/lib64 を追加することと、/usr/local/cuda/lib64 以下のファイルにシンボリックリンクを張り直すことで対応しました。

libcupti.so.11.0 -> libcupti.so.11.1
libcusparse.so.10 -> libcusparse.so.11
libcusolver.so.10 -> libcusolver.so.11
libcublas.so.10 -> libcublas.so.11

あと確か/usr/lib/x86_64-linux-gnu中の

libcudnn.so.7 -> libcudnn.so.8 にも張った気がする。

それでもエラーが出ていて、

https://qiita.com/nall2240/items/31e821758ff618774d93 Tensorflow-gpuを使う際にはまったこと

を参考にして、

pip3 install tf-nightly-gpu

を導入したら解決できました。というわけでDebianでもTensorflow-GPUで遊べます。ただし、 nightlyなのでサンプルプログラムがなかなか動きません。ちゃんと使える人はいいんだろうけど、最新を追いかけるのはやめたほうがいいように思えます。これを書いたあと、結局自分の目的はインストールではなく機械学習の学習であることを思い出し、 ubuntuに入れ直そうと思います。さようなら DebianとTensorflow2.4。楽しかったよ。

で、当初の直感Deep LearningはTensorflow2に対応してなかった・・・Tensorflow2では旧バージョンとの互換機能を使えるらしいけど、わざわざ古いもの入門するのもどうかと思い

https://www.packtpub.com/product/deep-learning-with-tensorflow-2-and-keras-second-edition/9781838823412 Deep learning with tensorflow2 and keras 2nd edition

っつー第2版をKindleで買った。現場からは以上です。

旧車にBluetoothをのっけたよ

こんにちは。

自分が乗っているクルマは日本に帰ってきたときに中古で買ったアベンシスというやつです。前輪駆動でやたら曲がらないですが、トヨタの欧州のフラッグシップとしてつくったものらしくサイズとしては当時のメルセデス・ベンツCクラス以上Eクラス以下だそうです。厳密にいうとトヨタ製ではなくTMUKとかいうところがつくってます。Toyota Motor Manufacturing UKだそーです。日本ではとにかく知名度が低く、トヨタのお店にもっていったらこの車なんですか、と聞かれました。

中古なのでオーディオシステムも古くCDチェンジャーとMDプレーヤーがついています。ナビは大容量DVDナビで、前のオーナーが律義に地図のアップデートをしてくれていたのでそれなりに使えます。

で、CDはまだ持ってるし使っているのですが渡米に際しかなり処分しました。MDにいたっては人生で所有したことがありません。最近は音楽やら語学教材やらはMP3やflacなんかに変換してファイルサーバーに投げ込んであります。クルマで聴くときだけCDに、というのも何か時代錯誤な気がして(おまえのクルマが古い、という意見はその通りですすみません)、MDユニットをのっとってそこらにあるbluetoothレシーバを押し込む、ということをやってみたいと思います。

対象とか材料とか

  • アベンシスワゴンAZT250(前期型と思われる)
  • その純正オーディオ
  • bluetoothレシーバ(Aliexpressで買ったこれ
  • 配線をおっかけるためテスター
  • MDユニットには9Vが供給してありロジックが3.3Vという変態仕様のため5Vをつくるためのレギュレータなんか

まずインパネを外します。オーディオユニットはM10のボルトで止まっているのでそれも外します。上側はインパネを外すとボルトにアクセスできますが、下側はシフトゲートのカバーを外さないといけません。マイナスドライバーを養生して隙間に挟むとシフトゲート横のプラスチックカバーが外れます。下側のボルトにもこれでアクセスでき、それでオーディオユニットを引っ張り出すことができます。

オーディオユニットとエアコンのコントローラーははめ込み式になっています。いちおうDINモドキのようなので横の取り付け用の金具のM8ボルト4本、エアコンコントローラーのプラスねじ2本を外します。オーディオユニットとエアコンユニットはひっぱってもとれませんが横にスライドすると外れます。オーディオユニットをひっつかんで家に持って帰ります。

オーディオユニットの前面パネルははめ込み式なのでツメを外すと外れます。ひっくり返して裏のネジ、フロントのネジ4ヶ所を外すと下フタが取れ、MDユニット(3.5インチのハーフハイトのドライブみたいな感じです)が外れます。14Pフレキケーブルと、ユニットを冷却しているファンの電源ケーブルをちぎらないように気をつける必要あり。

MDユニットにはスイッチが3つ入っており、それぞれ SW1: IN, SW2: CLAMP, SW3: INNERという名前がついているようです。あ、書きわすれましたが、今回の方法は

  • オーディオユニットにMDが入っているように偽装する(これでアナログ系がMDの出力につながるハズ)
  • MDからのアナログ出力をのっとる

という作戦でいきます。というわけでMDが物理的に入っていないとSW1, SW2はOFFのままなのですが、このスイッチをショートしてSW1, SW2を強制ONにします。SW3はヘッドの位置を見ていると思うんですが、わからないのでこれもONにしてしまいました。

MDユニットにはLSIが何個かのっており、そのうち大物はM30621M8というワンチップマイコンとCXP2667RというDSPプロセッサのようです。MDは確かATRAC3というコーデックで書き込まれていてそれをどうやってデコードしているのか、ヘッドユニットにはデジタルで信号が送られているのかアナログで来ているのかちょっとわかりません。今日日の感覚からいうとデジタルでひっぱってCPUに全部処理させちゃえばデコードは楽勝ですが、13年落ちのクルマに乗っているユニットなのでアナログ出力の可能性も高いです。

ネットでデータシートを探すと、M30621M8については16ビットマイコンでありDAコンバータがついている、アプリケーションとしてはポータブルオーディオなんか、と書いてありました。当初CXP2667の方がなんだかさっぱり検索しても出てこなかったため、M30621のDACのアナログ出力がそのまま出力に来ているのではないかと考えいろいろパターンを追っていきましたがどうも違うらしい。

ちょっと考えればわかるのですが、CXP2667のアナログ出力がそのままフレキケーブルまで届いているというのが本当のところのようです。というわけでいろいろ調べた結果フレキケーブルのピンアサインはこれ。

  1. GND
  2. Analog out(R) CXP2667R 28P
  3. Analog GND
  4. Analog out(L) CXP2667R 25P
  5. ?
  6. M30621 Pin26
  7. M30621 Pin27
  8. M30621 Pin28
  9. M30621 Pin29
  10. ?
  11. ?
  12. ?
  13. ?
  14. 9V

わかんないところはいっぱいあったけど(パターン追うの大変だし)、なんだよ9Vって。6〜9ピンでヘッドユニット側とシリアルで会話しているようです。今どきのものだったらフルデジタル接続なんでしょうが、アナログ出力で助かった。

AliExpressのBluetoothレシーバーはUSB typeA端子が電源コネクタになっているのですが、USBコネクタを外して外部から5Vを供給します。Bluetoothユニットの出力のステレオジャックのところから配線を引っ張り出し、フレキケーブルのPin 2,4につなぎます。Pin2, 4のもともとの上流のDSPユニットにつながっているところはパターンカットします。

当初DSPの電源に行っているところを貰ってきてクルマにユニットを戻したら、中国語訛りの英語で「Battery level is low」とのこと。DSPチップ3.3V動作やないかい。仕方がないので手持ちの7805で5Vの降圧回路を作り、フレキの1ピンが電源端子と勘違いして再度クルマにセットしたら全く動かず、また外してきてチェックしたら14ピンが9Vだということが判明し、直してまたクルマにつけたら左から音がしなくなり、外してチェックしたら配線が外れており、直してまたクルマにつけたら今度はオーディオとエアコン以外のハーネスが奥に入ってしまいまたやり直しが必要という感じです。

家から駐車場までちょっと歩くんです。あとユニットつけるためにはボルトを12本くらいつけなおさないといけません。今日だけでクルマと家の間をユニットかかえて10往復くらいしています。

写真とか付け加える予定です。誰か役に立った人がいたら教えてくれるとうれしいです。

Pythonの勉強しようとしたらminicondaが死んでいたという件

こんにちは。

外に遊びにいけないので家でパソコンをいじることになりました。動画とか観るのもあきてきたため、やはり生産性のあることをやったほうがいいと思います。Pythonの勉強をしようとしてとりあえずminicondaをアップデートしようとしたりjupyter notebookを起動しようとしたらエラーが出ました。

ImportError: dlopen(/Users/○○/miniconda3/lib/python3.7/lib-dynload/_ctypes.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libffi.6.dylib
Referenced from: /Users/○○/miniconda3/lib/python3.7/lib-dynload/_ctypes.cpython-37m-darwin.so
Reason: image not found

というわけでlibffi.6.dylibというのがないらしいです。

(base) lib $ ll libffi*
-rwxrwxr-x 1 ○○ ×× 37892 6 27 21:18 libffi.7.dylib*
-rw-rw-r-- 2 ○○ ×× 42792 4 23 06:06 libffi.a
lrwxr-xr-x 1 ○○ ×× 14 6 27 21:18 libffi.dylib@ -> libffi.7.dylib

libffi.6.dylibってのがないけどlibffi.7.dylibというのがあるらしい。で、バージョン番号を指定してないやつは新しいと思われる7の方にシンボリックリンクが張られている。

(base) lib $ ln -s libffi.7.dylib libffi.6.dylib

とやったら動きました。libffi-3.3の管理が変わったとかそんなことが

https://github.com/conda/conda/issues/9899

にありましたの参考迄に。前のバージョンをしばらく放っておいてアップデートするとこの問題が出るようです。

Python周りはオリジナルのやらhomebrewのやらpipやらanacondaやらでごちゃごちゃしているのであまりシェルでいじりたくないのですが、anaconda(minicondaだけど)の在りかがわかったからもう大丈夫かな?

cronの設定ではまったので報告するよ

こんにちは。

LinuxのcronでNHKの語学ストリーミングを録音して勉強しています。gogakuondemand.rbとかです。作者の人には大変感謝しております。

自宅においてあるraspbianのやつと、ほかで動かしているDebianのやつで同時に動かしてリダンダンシーを確保している(録音忘れを回避している)のですが、どっちも忘れたころにcronの設定を変更する必要があり、混乱が生じたので整理してみました。

  1. ユーザレベルでのcronの設定
  2. rootでの設定

1.ユーザレベルでのcronの設定

これは $ crontab -e を編集することになります。設定ファイルの保存先は /var/spool/cron/crontab の下にある各ユーザのファイルです。このディレクトリにはrootユーザじゃないと入れません。設定ファイルがユーザの見えるところにすぐないので、なんで設定してないのに動くんだ? と不思議に思ってましたが結局これが理由でした。

2.rootでの設定

cron(8)によると基本的には/etc/crontabを設定しろと書いてあります。Debianでは、このファイルの中に/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly のディレクトリ中のファイルを処理するような初期設定がすでに記載されています。またこれもDebian specificとありますが、/etc/cron.dのファイルも読みに行くことになっています。もし/etc/cron.d にファイルを置くときは任意のcrontabの書式のファイルでいいんだけどpermissionは644にしてownerをrootにする必要があります。

あとユーザレベルのcronじゃないのでここにおくファイルはどのユーザが実行するかの設定を中に記載しないといけません。

まとめ

結局raspbianの方はユーザ側で設定していて、もう一台のDebian Linux boxの方はcron.dにファイルをおいていました。書式をすっかり忘れてて、なんでこのシステムではcronを設定してないのにちゃんと仕事が終わってるんだろうと不思議に思ってたというわけ。Linuxだと何かやるのに似た方法がいっぱいあるから、システムポリシーをよく考えておかないとはまりますね。あとcronの設定ファイルの中ではPATHがほとんど設定されてないので変なとこのプログラムが実行されたりするので注意が必要です。

Macのpython環境をなおしたよ

こんにちは。

うちのMacでは前にpythonのコースを受講したときなんかで使ったminicondaというのが入っていて、あといろいろblogとかを参考にしたpyenvとかが入っています。Macなのでhomebrewは普通に使っています。

しばらくPython使っていなくって、久しぶりに勉強しようとしたら切り替え方がわからなくなっていたので、最初から戻って整理することにしました。

Macのシステムに普通に入っているpythonはpython 2.7です。

~ $ /usr/bin/python  Python 2.7.10 (default, Feb  7 2017, 00:08:15)  [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin  Type "help", "copyright", "credits" or "license" for more information. 

でもって自分のシステムにはhomebrew経由でpython3が入ってました。

~ $ /usr/local/bin/python3
 Python 3.7.6 (default, Feb 24 2020, 13:34:17)
 [Clang 9.0.0 (clang-900.0.39.2)] on darwin
 Type "help", "copyright", "credits" or "license" for more information.

自分がやりたいのはいろいろなpythonのライブラリとかを簡単にインストールして、こいつらがけんかしないことです。

Macを使ってデータサイエンスをしたい人はpyenvというのを入れてからAnacondaというpythonディストリビューションを入れるのが普通のようで、私もそうやっていました。しかししばらく使っていなかったら切り替え方を忘れたのと、どうも環境ごとにえらいファイルサイズがでかそうなので、シンプルにしたくなりました。あとAnaconda自体がギガバイト単位のディストリビューションでかついろいろ周辺のプログラムもわざわざ含んであってややこしいらしい。

というわけでminicondaというAnacondaの最小セットを入れることにしました。オリジナルのここ(https://conda.io/projects/conda/en/latest/user-guide/install/macos.html)の通りに実行します。

minicondaは(anacondaも多分そう)ホームディレクトリの下にインストールされます。MacOSだったら /Users/ユーザ名/miniconda3 です。インストールのスクリプトではパスの設定でminiconda3のディレクトリが先に指定されます。

~ $ bash Miniconda3-latest-MacOSX-x86_64.sh
~ $ conda update conda

~ $ conda install jupyter jupyter_console notebook

最後のはjupyter notebookで勉強しようと思ったから追加したやつです。

(base) ~ $ python
 Python 3.7.4 (default, Aug 13 2019, 15:17:50)
 [Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
 Type "help", "copyright", "credits" or "license" for more information.

となってインストールできました。この状態で brew doctorやるとpythonのリンク先が異なる旨のエラーがでますが、しょうがないです。

パッケージは conda install で行うことにします。pip installでもできるらしいのですがどこに入るのかおっかないので試していません。

もっとばりばり開発するようになったらまた環境を考えよう。

Vladivostok行ってきた その2

こんにちは。

Vladivostok2日目以降です。

ホテルにはこんなナイスな日本製の冷蔵庫がありもって帰りたくなりました。ただし220V仕様。さらに問題はこいつはテレビのしたの棚に入っていたんですが電源にどうやっても届かないことです。どうやってみんな使っているんだろう、と思いつつ冷蔵庫をひっぱりだしてコンセントにつないだら動作しました。

姉妹都市でしょうか。AKITAやらNIIGATAって書いてあります。

ウラジオストク港

通りにはこんな感じで壁画みたいなのがいっぱいあります。

Бургер КингですБургер Кинг。変わらぬおいしさ。

中央通りだったかな、目抜き通りのところでは市場が開かれていました。

Мемориальный музей подводной лодки C-56 とそのままGoogle translateの結果を貼ってみたけど誤訳に見える・・・船系の単語は女性名詞なんじゃないのかなあ・・

というわけでC56という潜水艦が博物館になっています。

中は半分は当時の軍隊の説明です。当然ロシア語です。

後ろ半分は当時の設備がそのまま残されていました。

部屋と部屋の間の移動はこの丸いところから行います。

こっから魚雷を撃って敵をやっつけるのです。

通りはこんな感じでヨーロッパ感があります。

Instagrammableだと言われている銀行の建物。用事がなかったので中には入りませんでした。

昼食は謎サラダ(赤い)とボルシチ(赤い)とパン(赤くない)とチキンソテー(赤くない)とビール(赤くない)でした。これでセットメニュー。Lozhki-Ploshkiという割と有名なお店です。日本語のメニューもあるらしいですが、自分のときは英語メニューが出てきました。

昼のランチメニューは「くれ」と言わないとなかなか出してくれないというちょっとだけ商売上手な感じ・・・

Vladivostok駅前にある偉かったかもしれない人の像(注:レーニン像)

 

カニとビール、という敗北感のない感じの名前の店でカニとビールを。結構観光客向けの店なんだと思いますがロシア語を話している人も入ってました。主な客層はやはり韓国系らしい。

夜はBeer barに行ってみた。Vladivostokのローカルビールがありおいしかったのですが、ローカルなので名前はないとのことでした。

Sweetwater 420まで売っていてすさまじくびっくりしました。

そしてまた朝ごはん。(飯の写真しかないな)

お粥のような謎のものは、隣の人が頼んでいたので自分もお願いします、と言って頼みました。あと鮭が食べたかったのと肉が食べたかったので朝ご飯からたっぷりです。

Vladivostok名所の金門橋。なるべく映える場所を探しますが、 

実際はこのように観光客だらけ。ここまで行くのは路線バスが便利で、どのバスを乗るかについてはYandex Mapを開いて調べるとバスロケサービスとともに教えてくれます。

ぬこ

 

ウラジオストクはたまにこういうものが走っていたりして完全に頭がバグりそうになります。

高雄行ってきた2019 その2

こんにちは。遅くなりましたが高雄その2です。

高雄2日目はホテルで朝ごはん食べて

地下鉄のって

 

美麗島站のステンドグラス見て

原日本海軍鳳山無線電信所という廃墟をみてきました。旧日本海軍の無線電信所で、大正6年に建てられたとのことです。終戦後には政治犯などの取り調べを行う施設となり、さらに海軍教導センターなどを経て2001年に解体。建物自体は台湾の文化遺産となり、公開されています。

入り口の受付の人以外、ほとんど誰もいないうち捨てられた場所なのですが、上記のような理由でちょっとまがまがしい印象を受けます。

十字型の建物で中はコントロールセンターのようになっている

海軍の施設だったらしいので。

入り口

医務室らしいが、むしろ保護室的な壁の詰め物とか。

体育館やら講堂やららしい

おなか減ったので10時のおやつに鶏肉飯。

打狗英国領事館官文化園区入り口から階段を上って行きます。ちなみにここまではバスが便利です。KRT西子湾站から99番バスか橘1バス。

てっぺんはafternoon teaができる茶芸館とちょっとした博物館

港が一望できます。ちなみに超暑かったのでちゃんと日焼け止め&水分の確保をしましょう。

夜は瑞豊夜市に行きました。

前に食べそびれた月亮蝦餅80元

ちなみに今回はホテルを六合夜市のすぐそばに取ったのですが、工事があったらしく夜市が休み、という非常事態になっておりました。観光客の人も結構困っていた。

帰りは高雄を早朝に出発するTigerair taiwanの高雄→成田便でした。KRTでチェックインに間に合うか心配だったのですが、なんとか間に合うように時刻表が組まれているようです。

高雄空港は大雨で、そのあと出発がえらい遅れたというおまけつきでした。

成田付近で食べたラーメン。

 

 

Vladivostok行ってきた その1

こんにちは。

休みが3日あったのでVladivostokに行ってきました。夜勤明けでそのまま行ったのでいろいろ忘れ物をしました。E-visaとパスポート忘れなくてよかった。NHKのロシア語はレッスン11まで終わりました。

2019年10月の旅行の時点では、成田からウラジオストクの飛行機はAurora AirlinesというところとS7 Airlinesというところから出ています。2020年からはJAL, ANAが直行便を飛ばすらしいのでよりウラジオストクは身近になると思います。混む前に行きたかったんだよーというのが今回の趣旨です。

ウラジオストクの情報は、うらじお.comがとても詳しいです。ガイドブックいらないくらいです。ちなみにうらじお.comの人が編集に参加した地球の歩き方Platのウラジオストク版がとても有用です。自分はLonely Planetのロシア版を見ていましたが、ウラジオストクに関する情報は数ページしかありませんでした。

電話はMegafon(мегафон)というところのプリペイドSIMをamazonで購入していきました。7日有効でデータ通信無制限だったと思うのですが、ロシアでふざけてアメリカに国際電話をかけてしまい、最終日に使えなくなるというアクシデントがありました。販売者の人に一応質問を送っていますが、普通の人は問題なく使えるとおもいます。電波のcoverageは全体的に良好でした。Megafonはdocomo的な立場なようです。ロシアの国番号は+7。

なお、ロシアでもfree WiFiは各地にあるのですが、「ロシアの電話番号が登録に必要」です。つまりロシアでモバイルWiFiをアクティベートするか、上記のようにロシアの電話番号を手に入れる必要があります。

別にロシアのみならず、SIMカードの登録にパスポート情報やら自分の正確な個人情報を登録しなければいけない国は少なくありません。日本もそうですよね。私の訪問した中では、シンガポールやタイなんかはネット検閲をやっていますし、今回のロシアもそうのようです。まあ自分が変なことをするわけじゃないからいいんでしょうけれども。

ちなみにロシアではLINEはブロックされています。現地でLINEで連絡取り合うのはちょっと手間がかかります。

チケットはGoogle flightやらSkyscannerやらで調べてS7 airlinesのページから予約しました。パスポートの写真を送らないといけなくてちょっといやでしたが、来年以降ウラジオに訪問する人はJALANAで行くと思うのでまあ大丈夫でしょう。

ロシア渡航には通常ビザが必要です。トランジットビザ等の例外を除き、ビザ取得には普通は大使館とか領事館に行ってパスポートを預けたりする必要がありますが、ロシア極東地区はその例外でネットで申請することで電子ビザが数日で発行されます。

 

成田ターミナル2のS7航空のチェックインカウンタはRというはじっこにあります。前方のwideな座席の用意がありますって言われて喜び勇んでそれでお願いしたんだけど、飛行機自体は後ろの席ががらがらだったのでA320neoの1列を占領すればできる範囲でした。シートは3Cというところだった。ちなみに成田空港の駐車場を予約するのを忘れてて当日改めてお願いした次第。

当然ながら乗った瞬間にロシアになります。ずどらすとゔぃーちぇ。

2時間半くらいの短いフライトですが機内食があってサンドイッチ貰えます。巷ではこのサンドイッチの評判がえらい低いようですが、自分ではそうは思いませんでした。ワンワールドサファイヤをゲットしたのでこの直前にラウンジでJAL謹製カレーをたらふく食べています。Checked bagもタダにしてもらったので、お土産袋の用意も完璧です。10月末に行ったのでダウンジャケットとかつめてたらカバンに入りきりなくなりました。

お金は日本で両替してもいいですが、レートが限りなく悪いのでなるべく市街地まで両替は耐えましょう。自分は、電車の時間がギリだということがわかっていたので成田で5000円分だけルーブルに両替しました。でもウラジオストクの空港には散々ATMがあったので、クレジットカードの海外キャッシングで全くなんとかなります。Amexはほとんど全く使えず、VISA/Masterのみですが、日本で大金を両替する必要は皆無と思われます。

ウラジオストク空港では荷物もさっさと出てきましたし、空港内はあったかいです。S7航空S7 6282便は17:40着なのですが、空港から市街地へ移動するアエロエクスプレスの終電は17:30発でかなり急がないといけません。というのは嘘らしくロシア語のサイトを見てみると終電は17:40発のようです。地元の人は車で空港まで来ているようです。アエロエクスプレスの駅はちょっとわかりにくいのですが、入国したら右を向いてまっすぐ進み、非常口っぽいドアを開けて自分で進みます。下の写真のタイムスタンプを見たら16:42JST。現地時間は17:42ということになり出発時間を過ぎていましたがちょっとはお客さんを待ってくれる印象でした。

自分はラッキーで飛行機の座席も先頭近かったし荷物もpriority baggageにしてもらったりimmigrationも一番乗りだったので電車に間に合いましたが、それでも両替したりSIMカード買ったりする時間はないようです。もし同じルートでウラジオ入りしたい人がいたら、成田でチェックインのときに事情を説明した方がいいです。前にもシカゴあたりで「乗り換えがタイトだから荷物はプライオリティタグつけてくれ」としれっとエコノミーでお願いしてうまくいったことがありました。S7で成田発で空港で異国の地を満喫する人、腹ごしらえする人、空港の探検をする人は電車は乗れないです。

*なお、JAL(毎日)のウラジオストク便は11:20成田発、ウラジオストク14:45着の予定、ANA(月金)は時期によりますが11時成田発、14:15着ないし13:35成田発16:50ウラジオストク着の予定だそうなんでアエロエクスプレスでめでたく市街地までいらっしゃってください。

18:45頃、Vladivostok駅に到着しました。

他の移動手段としては107番のバスかタクシーということになります。バスは安価なんですが荷物代金を取られるそうです。スーツケースがある人は電車で市街まで行くのがいいと思います。ちなみに電車の料金は10月の時点で250ルーブルでした。公共交通は大体のブログの記載とガイドブックより値上げしてます。ちなみに路線バスも9月から値上げして28ルーブルになったので、107バスも値上げしていると思います。バスは小さいそうなので、スーツケースな向きにはおすすめしないです。そもそも市街地も石畳だったりでこぼこしてます。

なお、切符買った時点でもらえるレシートのようなものが切符そのものなので、このバーコードを読ませないと改札口のゲートが開きません。あと車内検札もあるのでレシートだと思って捨てないようにしましょう。

というわけで急いでウラジオストクまで行きます。

ロシアはGoogle mapよりYandex mapというのがいいらしいです。Yandex mapはバスの路線図とかリアルタイム運行状況に対応していて便利です。現地の人も使い慣れていると思う。日本語より英語の方が明らかに通じるので、スマホは英語モードに切り替えておいた方が現地の人とネゴするのに役立ちます。ライドシェアのアプリもあるんですが結局タクシー使わなかった。

ウラジオストク駅前。столоваяというのはstolovarと読んでセルフサービスの食堂を意味するのです。キリル文字も慣れると結構読めます(が、意味がわかんねぇ)。

駅を背中にして向こうを見てますがえらい上り坂です。Vladivostokは横浜みたいな感じでえらい坂が多い。

泊まったのはHotel Versailles(Версаль)。おわかりかと思いますがVはВでsはсでrはрでlはлです。つまり日本人的な発音のミステイクがそのまま正しい感じになります。このホテルはソビエト連邦時代からあるそうなので、中は古風なホテルという感じ。フロントの人は英語が通じます。日本語は多分通じないと思うけど、日本からの旅行者はそれなりにいるようです。

Georgiaに住んでたのでGeorgia料理を食べました。Satsivi(Сациви)というお店。ちょっとメインストリートから港の方の狭い道に入らないとたどり着かないです。観光客向けっぽくもありますが地元の人も結構来ています。愛嬌のある若い子がいっぱいウェイトレスさんをやっているので(これはロシア共通で美男美女がやたら多い)、レストラン行くだけでちょっと幸せになりますよん。自分のときは英語のメニューが出てきたけどお願いすれば日本語のメニューもあるらしい。ちなみに地理的に中国人と韓国人が多いので英語ないし日本語のメニューを請求しないと沈没するのでよく注意しましょう。中国語韓国語読める人はいいけれども。

ジョージア料理といえばビールです(嘘)。これは普通のビール(Пиво, Piva) ぴーばって読む。アクセントのないоはaの発音です。

サラダ

Khachapuriというジョージアのピザ。食べ方の説明書付きです。これは街中いろいろなところにありました。味は想像の通りでおいしい。

サーモンのグリル。

基本的に味付けはシンプルでおいしいと思います。映えるのも結構あります。

ホテルに帰ったら自分のフロアだけ停電したので外に出ました。

噴水あたりで怪しい若者に「両替して欲しいんだけど」といわれて1000ルーブルを見せられた。「I don’t have such a big money now.  What’s your problem? May I help you?」と言ったら逃げ出した。多分観光客相手の詐欺だったと思うので、噴水あたりに夜いる若い人にお金の話をされたら気をつけましょう。こっちは乗ってあげる気まんまんだったら相手がどっか行っちゃったので、親切は十二分にするといいことがありますよん。

ちなみに治安はあんまり悪くなさそう、というかみんな夜型人間っぽくってお店は大体21時まではやってるし、24時間営業のコンビニもあるし、という感じです。

ホテル周辺やら

これは駅周辺やら。大体ホテルから駅まで歩いて10分くらいです。

ちなみにそれなりに寒いです。

続きます。

 

PC買った。Linux入れた。ドライバではまったので報告するよ

こんにちは。

ネットをうろうろしていたらThinkCentre M715q Tinyというやつが安いらしいので、デスクトップのmac Miniを入れ替えるために購入しました。

最新の構成でRyzen 2400Eとかいうのが入っているみたいです。グラフィックコアはvega 11とか書いてあります。メモリは8GBの、SSDは128GBのを買って自分で増やしました。メモリ16GBとSATA SDD 500GBを追加したった。

Windows10を初めていじりますが、Linuxも入れたかったので前から使っているDebianを入れました。BusterというやつでDebian10というやつですね。

知ってる人は知ってると思いますが、Linuxの鉄則は初物に飛びつかないことです。今回もやはりはまりにはまって対応に成功したので報告しておきます。

今回の問題は、無線LAN環境しかないのに無線LANのドライバが入らないこと。公式サイトのDVDイメージをディスクに焼いて開始しますが、GUI環境になりません。当然無線ネットワークもつながらないです。困った。

日本語のエラーメッセージが豆腐で出てきても困るので英語でインストールしてみた。

  1. グラフィックドライバ
    • debian 10はカーネルが4.19系だそうです。Radeon Vega RX11はカーネルレベルでは対応しているようです。
    • 親切な人が対応を記載してくれてた(ここ
    • Waylandは対応していなくてX.orgに切り替える必要があるらしい。/etc/gdm3/daemon.conf を設定。WaylandEnable = false とする。
    • firmware-linuxパッケージはネット環境なしではどうせ入らないだろうからあきらめた。そのパッケージの内容をみて、https://packages.debian.org/ja/buster/firmware-amd-graphics を入れた。ネット環境ができていないので、隣のパソコンからUSBメモリ経由でコピー。
    • # dpkg –install firmware-amd-graphics_20190114-2_all.deb
    • 再起動で動いた。うれしい。
    • OpenGLのドライバもこのページにのっとり入れてみた。
  2. 無線LAN (RTL8821CE)のドライバ
    • ネットでは情報が錯綜している。dkmsというのがあればカーネルごとのドライバをつくらなくていいらしい。というわけでdkmsをaptで入れる。幸いなことにcd-romから入れることができた。# apt install dkms
    • Makefileを編集して・・・という情報があったけどこれはうちでは動作しなかった
    • $ git clone https://github.com/tomaspinho/rtl8821ce.git でもらってきたファイルを隣のパソコンでzipで圧縮して新しい機械へ。
    • さっきもってきたファイルのディレクトリに降りて行って
    • # ./dkms-install.sh
    • なんかやったあとドライバが入った。再起動したら無線LAN見えるようになった
    • aptで全く更新されないと思ったらレポジトリがcd-romになってたので適当に設定して終了。
  3. 日本語化
    • # apt install uim mozc-server uim-mozc
    • # apt install fonts-mplus
    • トラブったときにlocaleが日本語だといろいろな情報が豆腐になるので英語ロケールのまま使う
    • フォントの指定はCUIでいろいろやらずなんとなくGUIでやってうまくいっている
    • # apt install manpages-ja
    • alias jman=’man -L ja_jp’
    • manで英語のmanpage, jmanで日本語のmanpage出て便利
  4. Emacsいれた
    • # apt install emacs
  5. R入れた
    • # apt install r-core
    • /etc/apt/sources.listにcranのミラーを入れるとRが最新になった
      • deb https://cloud.r-project.org/bin/linux/debian buster-cran35/
  6. Rstudio入れた
    • # apt install gdebi-core
    • rstudio-1.2.5019-amd64.deb をダウンロードしてくる
    • # dpkg –install rstudio-1.2.5019-amd64.deb
    • なんかaptの整合性がとれてなくてエラー出たけど解除できて入った
  7. sshd入れた
    • /etc/ssh/sshd_config 編集, rootで入れないように
    • 同じ机で使っているノートPCとsubnetが違っていてアクセスできなかった
  8. mew入れた
    • emacsのパッケージシステムから入れてみたらmew周りのバイナリがインストールされない
    • aptで入れた
    • # apt install mew gnupg2
    • Hyperestraierを入れたらsegmentation faultが出る
    • なんとなくmew7.0 ではnot recommendとなってるらしい。
    • どうやってメールの検索していいかわからない

これからお勉強する予定です。/etc/init.d っていうのは古いらしくってsystemdになっているらしいし、ログファイルのありかがよくわかんないし・・・

高雄行ってきた2019 その1

こんにちは。

昨年に引き続き、3連休を利用して台湾の高雄に行きました。英語で書いた方がレスポンスがいっぱいつくので、英文blogにした方がいいんじゃないかとちょっと落ち込んでいます。

ちなみにBlog主は中国語はしゃべれません。「中国語をしゃべりません」くらいは中国語で言えます。

成田発のTigerAir Taiwanです。      機材はAirbus A320-200でした。LCCだけあって座席は狭くってシートピッチは28インチ(71センチ)だそうです。最近のLCCは28インチが標準なんでしょうか。ここのところJGC修業とかでプレエコとかビジネスとか乗ってるからさすがに28インチはつらいと思いました。Airasiaは28インチでPeachは29インチだそうです。1インチは2.5センチだから、小さいとはいえそれなりに効きます。アジア人は小さいからこのくらいでいけてると思うけど、欧米人には無理なサイズかなと。行きの飛行機はほぼ満席でした。日本人と台湾人が半分ずつくらいだったでしょうか。車内アナウンスもMandarin、英語、日本語の順で行われました。ネックピローして寝ていたら結局首に汗をかいて目が覚めた。

機内サービスが全くないとみんな寝るんですね。というわけで一眠りしたら台北上空です。中正記念堂が真下に見えます。普段は通路側を希望するので久々の窓側。

というわけで高雄到着です。今回は直前のスケジュールが忙しかったのでホテルを取った以外は何も予定を立てていません。

コーヒーを飲みわすれてもちゃんとスタバはあります。

空港で両替します。一通カードというのをもっているのでそれにNTD1000をチャージしました(が、結果としてチャージしすぎでした。NTD500で十分かと)。

空港からはKMRT(高捷という)が走っているのでタクシーやらUberならを捉まえる必要はあまりありません。今回の旅行ではUberは使いませんでした。KMRTはなんというか高雄始まってます。期間限定で初音ミクとコラボレーションしているらしいです。

日本語の通知やら

もともとのメインキャラクターである小穹ちゃん(小穹で穹ちゃんっていう意味だけどまあどうでもいいか)は今回はややセクシーでした。

ほかにも

ミクさんやら

ごめんあんまり詳しくないんだけど

ニャンコ大作戦とか。日本でサブカルチャーだったのが台湾では普通にメインカルチャーで取り入れられているのがすごい。そういえば日本も今の若者たちはアニメキャラとかあんまり抵抗なさそうですけど。

ホテル。Jia’s inn – Lihoue (https://www.tripadvisor.jp/Hotel_Review-g13806805-d4289604-Reviews-Jia_s_inn_Liouhe-Qianjin_Kaohsiung.html) というところに宿を取りました。ダブルベッドの部屋で、廊下とかはデザイナーズホテルみたいでいろいろおしゃれ。ベッドには自分はうるさいのですが、ダブルクッションでポケットコイルでダブルベッドなのでオッケーです。部屋から出たくなくなります。事実Kindleにダウンロードしたマンガでごろごろしていて時間を相当無駄にしました。

ゴム製品もなぜか置いてありました。フロントの人は日本語が通じます。英語で話すと日本語で帰ってくる台湾的なアレを感じました。地下には洗濯と乾燥がそれぞれNTD30でできるWhilpoolの(=アメリカ仕様の)洗濯機・乾燥機があってすごく助かりました。アジアを旅するときは大体昼間に一回ホテルに帰ってシャワーを浴び直すので、着替えが足りなくなることがあったのです。

ここのホテルはお勧めです。前日食べ過ぎたので朝・昼とほとんど食べておらず、チェックイン後はかなりおなかがすいていました。昼食には遅く夕食には早い感じ。

近くの食堂で鴨肉飯と鴨血湯をいただきました。七賢鴨肉飯というところ。地元の人がひっきりなしに来ているのでまずいわけがない。鴨血は血ともち米を固めた感じのやつでしたが、血の味はほとんどしません。大丈夫かと念を押されましたがなんでもかんでもとりあえず頼むたのむ。

鴨肉飯はダシが効いていてこれだけでごはん3杯いけます的な感じです。これだけだとNTD30とかでこれも航空機代が浮いちゃうくらい安いです。晩飯のメニューに悩んだら台湾に旅行するという方針を今後貫いて行きたいとおもいます。

というわけで夜遊びに向けて待機します。ホテルは六合夜市のすぐ近く。

六合夜市は観光客向けとはいえそれなりに楽しいです。屋台ごはんはおいしいんだけど、ちょっと考えると地元の小吃のが圧倒的に安いうまい。でもいいの。

麻辣臭豆腐。臭豆腐好きなんです。日本人には臭豆腐好きは少ないみたいですが。超からくて途中から涙なみだ。これは辛うまってやつでかなりお勧めです。

他には普通の炸臭豆腐も食べたけど、多分台北で食べたやつのがよかったと思う。そういえば翌日は一日この通りの舗装工事をしていて、夜市もなし。観光で来ていた日本人の女の子2人が困っていました。瑞豊夜市に行ったらいいよ、とお伝えしておきましたけど瑞豊がやっぱりいいと思う。

担仔麺も食べました。日本の感覚からすると小さいので、はしごしていっぱい食べよう!

んで翌日。続きます。