端の知識の備忘録

技術メモになりきれない、なにものか達の供養先

KaggleでGoogle ColabやTPUを使うためのTips集

概要

意外とKaggleでColabやTPUを使う情報が少ないので、Kaggle NotebookをTPU対応させたりそれをColab対応させたりするときのTipsをご紹介します。基本はTensorflowに関する記述です。

strategyを定義してmodel.fitのときにstrategy.scope()のブロックで実行するみたいな、基本的な使い方は公式チュートリアル参照のこと(ぶっちゃけ自分もまだこの辺よくわかってなくておまじない的に使ってますが)。 https://cloud.google.com/tpu/docs/tutorials?hl=ja

エラーコードなども随時補完していきたいと思います。

KaggleデータセットをColabから使う方法

私も使うまで知らなかったのですが、TPUを使いたいときには、GCSにTFrecordのような分散させた形で配置したデータセットを用意しないと使えません!。正確にはTFrecordでなくてもGCSに画像を置くだけでもTPUを使ったデータの読み込み&Trainは可能ですが、まともに速度が出ません。

Kaggle datasetは実態としてGCSへ格納されているらしく、GCSのパスを取得することができればこれをColabから利用可能です。

これから先ではPublicなKaggle datasetをColabで使う手順を紹介しますが、Privateなデータセットも認証とか頑張れば行けるらしい。

  • kaggleノートブックでGCSパスを取得

PublicなKaggleデータセットをColabで使うには、KaggleデータセットのGCSパスをKaggleノートブックで取得して、それをColab側で使うことでアクセス可能です。

参考: https://www.kaggle.com/code/tchaye59/efficientnet-tensorflow-baseline-tpu/notebook

使いたいKaggleデータセットをInputにしたノートブックで、下記コードを実行。

from kaggle_datasets import KaggleDatasets
GCS_PATH = KaggleDatasets().get_gcs_path()
print(GCS_PATH)

# 以下出力
gs://kds-c6262c3899ad974e1123f2b7bad13b081bfad9d034edac5d4cfad2bf

これで取得したGCS_PATHを何処かにメモっておき、これをColab側で使います。

  • Colab側での利用方法

参考: https://zenn.dev/karunru/articles/a8f394d7a859b7

Kaggle APIがどうのこうのみたいなしゃらくさい話はさておいて、とりあえずKaggle datasetをColabで利用するための(おそらく)最短手順は下記のとおりです。

GCS_BUCKETNAME = "さっきKaggleノートブックで確認したGCS_PATHから'gs://'を除いた部分"

# パブリックデータセットであっても、authenticationを行う必要があるらしい。
from google.colab import auth
auth.authenticate_user()

# TFDSのtfds.core.GeneratorBasedBuilderに従って作られたデータセットであれば、data_dirとしてGCS_PATHを指定すれば読み込める。読み込めないときは、PATHの深さがずれていないか確認すると良い。
# 例として示しているFGVCDataset は、次のノートブックを参考に作ったTFrecord形式のデータセット。 https://www.kaggle.com/code/tchaye59/efficientnet-tensorflow-baseline-tpu/notebook

data_dir= "gs://" + GCS_BUCKETNAME
builder = FGVCDataset(data_dir=data_dir)

# もしマウントする必要がなければ下記不要。
!echo "deb http://packages.cloud.google.com/apt gcsfuse-bionic main" > /etc/apt/sources.list.d/gcsfuse.list
!curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
!apt update
!apt install gcsfuse
!mkdir -p /kaggle/input
!gcsfuse --implicit-dirs --limit-bytes-per-sec -1 --limit-ops-per-sec -1 " "/kaggle/input"

# これで'/kaggle/input'下にKaggle datasetがマウントされます。
!ls /kaggle/input

ちなみに、一度だけ遭遇したのですが、Kaggle datasetのGCS_PATHが勝手に変わった事があり、それで学習がストップしたことがありました。そういうこともあると思って、もう一度GCS_PATHを取得し直しましょう。

TPU使用時の豆知識

TPUを使っていると、同じコードでも謎にエラーを出すことがあるので、そういうときは慌てずもう一度ランさせましょう。何故か普通に動きます。

例えばこんなエラー。

AlreadyExistsError                        Traceback (most recent call last)
<ipython-input-12-effe1bc08a91> in <module>()
      1 # https://stackoverflow.com/questions/59289014/how-to-check-if-tpu-device-type-is-v2-or-v3
      2 tpu_worker = os.environ['COLAB_TPU_ADDR'].replace('8470', '8466')
----> 3 print(tf.profiler.experimental.client.monitor(tpu_worker,1))
      4 tpu_info = tf.profiler.experimental.client.monitor(tpu_worker,1)
      5 tpu_type = tpu_info.split('\n')[1].split(':')[1].split(" ")[2]

/usr/local/lib/python3.7/dist-packages/tensorflow/python/profiler/profiler_client.py in monitor(service_addr, duration_ms, level)
    162   """
    163   return _pywrap_profiler.monitor(
--> 164       _strip_prefix(service_addr, _GRPC_PREFIX), duration_ms, level, True)
    165 
    166 

AlreadyExistsError: Another profiling session is active

model saveは重みだけをh5で保存する必要あり

TPUで学習させたモデルは、重みだけ保存する必要があるようです。ですので、

model.save("MODEL_NAME.h5")

のように、拡張子をh5にして保存を行います。

TPUのバージョン確認方法

これが意外とどこにも書いてなかった。

Google ColabだとTPUのバージョンを指定できないので、V2とV3でBatchサイズを変えるみたいな処理をしたいことがあると思います(Colab Proだと実際にはV2しか割り当てられなさそうですが……)。そういうときには次のようなやり方でTPUの情報を取得します。

TPU接続後に下記コードを実行。

参考: https://stackoverflow.com/questions/59289014/how-to-check-if-tpu-device-type-is-v2-or-v3

tpu_worker = os.environ['COLAB_TPU_ADDR'].replace('8470', '8466') 
print(tf.profiler.experimental.client.monitor(tpu_worker,1))
tpu_info = tf.profiler.experimental.client.monitor(tpu_worker,1)

# 以下出力
  Timestamp: 13:15:07
  TPU type: TPU v2
  Utilization of TPU Matrix Units (higher is better): 0.000%

ちなみにここで取得したtpu_infoを次のように処理(だいぶ雑ですが)すると、v2またはv3の文字列を取得できるので、これで処理を分けることができます。

tpu_type = tpu_info.split('\n')[1].split(':')[1].split(" ")[2]

# 例えばこんな感じ
if tpu_type == "v2":
  BATCH_SIZE = 512
else:
  BATCH_SIZE = 1024

TPUのパフォーマンス系Tips

参考: https://cloud.google.com/tpu/docs/troubleshooting/trouble-tf?hl=ja#overview

IOがネックになることが多いので、それを回避するあれこれ。

  • BATCHSIZE

バッチサイズは64の倍数にすべし。TPUでは内部的には8個のコアに分散して処理を行っているため、バッチサイズ64ならそれぞれのコアがバッチサイズ64/8=8で学習を行う。

それぞれのコアはTPU v2なら8GB、TPU v3なら16GBのメモリを持っているので、結構大きなサイズで学習させられます。Googleのガイド的には1024から試し始めて、OOMになったら下げるというやり方でBatchサイズを調整するようにアドバイスされています。

TPU利用時にはモデルのコンパイル時にsteps_per_executionという引数を指定することができ、指定した数だけまとめてトレーニングステップを実行してから、TPUからのコールバック(lossのロギングやチェックポイントの保存)がまとめて行われるというもの。

つまり、学習中の

64/346 [====>.........................] - ETA: 2:29 - loss: 0.2038 - accuracy: 0.9377

みたいな表示の更新が、steps_per_executionぶんだけまとめて行われ反映が遅くなり、そのタイミングでチェックポイントの保存も行われることになります。

プログレスバーが常時更新され伸びていくのを見れなくなるのは残念ですが、それ以外特に大きな欠点はないと思うので(要出典)、とりあえず32とか設定しておくとTPUでの学習が速くなると思います。

model.compile(optimizer=tf.keras.optimizers.Adam(), 
                loss='sparse_categorical_crossentropy',
                metrics=["accuracy"],
                steps_per_execution=steps)

Google Colab Proで使えるGPU, TPUの現状(20220410)

まとめ

GPU・TPUガチャの結果に関してはあくまで自分が確認した限りでの情報になりますので、参考程度に見てください

  • 2022年4月現在、Google Colab無料版ではGPUはK80か偶にT4しか引けなかったし、TPUは一度たりとも使えなかった
  • 2022年4月現在、Google Colab ProではGPUはP100がほとんどでたまにT4という感じ。TPUは今のところ100%v2しか使えないものの、割当されないことはなかった。本当はv3使いたいんだけども一度もお目にかかれていません。
    • また、Colabをつかうのであれば気になるところである切断の頻度ですが、TPU v2割当時でも12時間以内の使用であれば意図しない切断は一度も起きていません

欲を言うならGPUならV100、TPUもV3を使いたいところであるが、Colab Proでは今のところ一度も割当されません。月5000円のColab Pro+ を契約しろということでしょう。

とはいえ約月1000円という価格を考えれば、P100やTPU v2が自由に使えるというだけでも十二分です。特にKaggleの大規模なデータセットを扱ってTPUのデカいメモリの有難みを思い知りました。最近はGPUは使わずTPU v2を1日中使ってモデルを改良してます。

ここから先はダラダラとしたGoogle Colabを使い始めた経緯を書いているだけなので、興味のある人だけどうぞ。

いきさつ

最近データサイエンスの勉強の腕試しということで、Kaggleを始めた。

参加中のコンペはSorghum -100 Cultivar Identification - FGVC 9というやつで、草の画像を100種の品種のうちどれだか当てられるモデルを作るというもの。

レーニングとテストそれぞれ1024x1024の解像度の画像が22000枚程度あり、これを使って学習アンド評価を行うわけである。

最初のトライということで、なるべくデータがシンプルなものがいいなと思って、画像から品種の分類というシンプル極まりないタスクであるこいつをデビュー戦に選んだ。

まだ1ヶ月ほど時間があるのですが、順位は最高5位/90チームくらいまで上がり現在は10位/115チーム。うまく行けばブロンズくらいは取れるかも?と思って日夜モデルの改善に励んでおります。

このコンペは画像サイズがデカく枚数も多いので、なかなか学習に苦労する。今自宅で使える計算リソースはメインのデスクトップ(Ryzen5 5600x + RX6900XT)と過去紹介したこともあるお手製AIサーバー(i5 6400 + K40)で、最初の方はMobilenetみたいな軽めのCNNの転移学習でベースラインを作っていたのでなんとかなっていたが、結局今メインで育てているEfficientNetV2みたいな最近のデカ目のモデルを詰めていく段になると、CPUやK40じゃどうにも時間がかかりすぎる。

https://hashicco.hatenablog.com/entry/2020/05/30/002945

ということで、途中からKaggleのノートブックに実行環境を移しGPU(ほとんどP100)や、少しコードに手を加えてTPU対応してTPUv3を使ってモデル構築に取り組み始めました。

ただ、KaggleのGPU,TPUにはクオータ(週制限)があり、それぞれ週20時間、週40時間しか使えない。大体週の前半で使い切ってしまうのでこれだと困る。

そんな計算環境難民の脱出先として有名なのはGoogle Colabでしょう。基本無料で使える上、太っ腹にもGPUとTPUまで使わせてくれるというのであるから使わない手はない。

で、久々に無料版Google Colabを使ってみたところ、いくらガチャしようとも全然まともなGPUを掴めない!TPUに至っては掴めすらしない! もう2022年だというのにK80かよくてもT4しか使えないとなるとKaggleでは戦えない。

こういう経緯でしゃーなしにGoogle Colab Proに登録して1ヶ月くらい使ってみましたので、実際使えるリソースや切断頻度の現状を記しておきます。可能であれば随時更新していきます。

HPのウルトラワイドモニター X34を買った

概要

FF14プレイヤーなら一度は耳にするであろう、「ウルトラワイドモニターは視界が広くてプレイしやすい」との噂。

今まで23インチ FHD(EIZOFlexscan), 27インチWQHD(NECLCD-PA271W), 31インチ4K(Acer ET322QK C)と着実にモニタをサイズ&解像度アップして買い替えてきたのだが、ウルトラワイドモニターは対応してないゲームがあるとか、16:9映像視聴時に31インチ4Kよりも表示面積が狭くなるとか考えて手を出していなかった。

ただ、最近はウルトラワイドモニターの新製品発表数も増えてきて市民権を獲得しつつあるような雰囲気。冬ボーナスもほとんど手を付けてなかったし、物は試しということで買ってみることとした。

ついでに今までは何故かほとんどクリエイター向けモニターを買ってきたこともあり、60Hzより上のリフレッシュレートや1ms低遅延のようなゲーミング機能をまともに体験したことがなく、この辺も対応しているものを選定することにした。

自分が調べている中で34インチ以上のゲーミングウルトラワイドで定番品ぽかったのはDellのAW3821DWHUAWEIのMateView 34LGのUltraGear 34GL750-Bあたり。

とりあえずお金があるならDellのAW3821DWが良さげだったが、納期が長そうなのと発売が2年近く前の製品なので買った瞬間型落ちになりそうなのが嫌で選ばず。他の2製品のどっちかで決めようかと思っていたところ、全く眼中になかったHPのX34という製品を発見。

jp.ext.hp.com

34型 3440x1440、IPS、オーバードライブでGtG 1msの低遅延、最大165Hz、FreeSync Premium対応と私の必要としていたスペックはほぼほぼ満たされていながら購入時キャンペーン価格で48,730円(送料、税込み)と破格のお値段。お金は気にせず買うつもりだったのですが、お得に買えるならそれに越したことはない。

まあインプット端子の少なさや非曲面、表示色数が8bitなところとか随所にコストカットの跡が見えるのですが、どうせゲームとか事務作業、プログラミングで使うだけなので全然飲める程度のスペックダウンと判断。非曲面なのはむしろ良いポイントかも知れないし。

ということで全くと言っていいほど日本語のレビューが見つからなかったのは気になったのですが、HP X34を買ってみましたという話。

まとめ

  • HP X34は情報こそ少ないもののまともなウルトラワイドモニター(だと思う)。動体視力よくないし色彩センスも並なのであんまり良し悪しはわからないあくまで個人の意見です。
    • とりあえずUFOテストとか見てみた感じ、ちゃんと165Hzの表示は出来てるし妙なゴーストとかもないと思う。
    • 一方、画面の明るさが均一でない感じがするので表示品質はいまいちかも。
    • 今ならキャンペーン価格で48,730円(送料、税込み)で買えるので、とりあえずお試し気分で買っても後悔はしないと思う
  • あと、コンシューマーゲーム機の接続も考慮されており、Switchとかつないだときはちゃんと16:9で表示してくれる(もちろんサイドには黒帯が入りますが)。
  • FF14の表示も良好。確かに横長で表示面積が広くなるのでちょっとギミック処理しやすい気がする。
    • なによりHUDの配置が前よりも自由度高くなったのが嬉しい。端の方に重要度の低いものを置いてあげると真ん中スッキリしてプレイフィールも良くなる。
    • あと、4Kよりも解像度が落ちたこともありRX6900XTなら一応最高品質120Hz以上は安定して出ている印象(流石に165Hz張り付きは厳しい)。明らかに60Hzよりもなめらかに視点が動くのでプレイしやすいと感じる。

外観とか

付属品として電源、DP1.4、HDMI2.0のケーブルが付いてきますので、特にケーブルの準備は必要なし。この値段で付属品もしっかりついてくるのはありがたい。

スタンドの組み立ても簡単。このサイズなら全然一人でもいけます。

どこぞの元環境大臣じゃありませんが、やっぱりウルトラワイドモニターだけあって超横長です。 スタンドが少し安っぽいですが、角度・高さも若干調整できるので機能的には全然問題なし。気になるならモニターアームとか買いましょう。

f:id:hashicco:20220213191719j:plain

モニター設定はリモコンなどないので裏側のボタンをポチポチするタイプ。LGとかのジョイスティックタイプでもなく、シンプルに4種のボタンで操作します。必要そうな設定項目は一通りある気がする。

f:id:hashicco:20220213192256j:plain

UFOテストを240Hzスローモーション撮影してみたところ。別に専用機材で撮ったわけではなくスマホ(Surface Duo)の映像なのであんまり当てにはなりませんが、若干の残像感はあるもののまともに表示できてるように見えます。というか他の環境を知らないのでぶっちゃけよくわからん。 f:id:hashicco:20220213191406g:plain

今我が家では3枚のモニターをこんな感じに設置中。右のでかいのが今までメインで使っていたAcer ET322QK Cで、アームで高い位置においているのがFHDのサブモニターBenQ GW2406Z。ホントはET322QKをエルゴトロンのアームで吊るす予定だったのですが、重すぎて設置場所の木の板がミシミシ言いよったので諦めてサイドテーブルに乗せることにしました。前よりもET322QKが近くにあるので圧迫感がすごいです。 f:id:hashicco:20220213191637j:plain

LG G8Xが割れたのでSurface duo(ATT locked)に買い替えた ~米尼で買ってワイモバSIMで使うまで~

概要

こないだ人生で初めてスマホを落として割ってしまった。タッチ切れは起こっておらず画面内指紋認証も問題なく効いており使い続けられるものの、割れた画面を見るたびなんとなくテンションが下がる。

使っていたのはLGのG8Xというやつで、スナドラ855、メモリ6GBと無難なハイスペックかつ専用のカバーをつけると2画面になるというテッキーなやつ。しかもそこまで高くなく、中古で3万ちょいで買えたのでなかなかお気に入りのスマホだった。

最初は物珍しかった2画面のカバーはほぼほぼ使っておらず、生身で本体だけで持ち歩いていたところキレイに画面側から石畳に叩きつけられてバリバリになってしまった。

LGはスマホ事業から撤退しており安価な2画面系列のVelvet系の新作は望めないし、G8Xの純粋な後継機のV50やV60は高すぎるので微妙。学生時代は割れたジャンクスマホを直してゴニョゴニョとかやっていたけれど、定常収入のある大人になった今手間のほうが勝ってしまう。ちなみに自分で直したスマホ技適違反になることがあるらしいから要注意な!

ということでかれこれ2ヶ月位次なる相棒を探していたのだが、なかなかG8Xほど尖っててコスパの良いスマホが見つからない。Androidは値下がりしたPixel5aもあったしPixel6が出るというのもあって期待していたのだが、思ったよりも心惹かれず。6s以来久しぶりにiPhoneに戻るという選択肢もないでもないが、正直カメラとプロセッサ性能が順当に進化しているだけという気がして好きになれない。

で結局、表題の通りまたも2画面スマホであるSurface duoを買うことにした。 せっかくなら変なスマホ使いたいよね!というニーズをそこそこの価格で満たしてくれる機種じゃないかと思います。

ここから先は1年以上前に出た機種で今更ですがちょっとした使用感レビューと、これまた既に色んな人がチャレンジしてやり方を書いてくれているAT&TSIMロック解除を実際にやってみた経緯を書いていきます。

まとめ

使うまで

  • Surface Duoは米尼から国内輸入可能。AT&Tのロック付きなら新品256GBでも$428(SIMフリーのやつは$654)。
    • 送料やImport feeなど色々込みだと60000円くらい。円安きついね……。
  • AT&TSIMロック版も頑張れば解除して国内で使えるようになる(私はワイモバSIMで使ってます)。2万弱節約できるので手間かける価値はあると思う

使用感

  • やっぱり外付け2画面のG8Xよりも、純2画面スマホであるSurface duoはハードとしての完成度が高い。薄いし軽いし質感もよい
  • しかしソフト面はイマイチ。外折で片画面で使おうとすると、しょっちゅう開いている判定されて裏側誤タッチで変なアプリ開いてああああとなること多発
    • この辺G8Xは手動で強制片画面とかにできたのでそういう機能があると普段使いしやすくなりそう
    • 同じSoC、メモリサイズなはずなのに、なんとなくG8Xよりも動作がもっさりしている気が。BGタスクが多いのか制御系が悪いのか?
  • カメラはインカメしかないことに注意!まあブログに載せる用の写真くらいは問題なく撮れます。
  • 大昔のSurface Pro3のペンを持っているのだが、なんとそのペンがSurface duoでも普通に使えた。別に手書きしたい欲求はなかったのだが、Slimペンを買おうとすると1万以上するのでちょっと得した気分。

ただ2画面スマホを試したいだけだったら個人的には3万以内で買えるであろうLG G8Xの中古でも買ってみることをおすすめする。ちょっと重いがクセのないアスペクト比、そこそこの性能の背面カメラもあり、着脱で1画面運用もできる。

で、Surface duoは……、まあなんか良い質感の面白スマホを求めているけど2桁万円は出したくない人にはおすすめです。ほんと、質感はよくてプレミアムって感じです。ただ買ってみて投げ売りされている理由がわかった気がする……。

これを言っては元も子もないのだが、ぶっちゃけ田舎の引きこもりには2画面スマホは持て余す!昔のように通勤電車に長時間揺られたり、位置ゲーやってたり、複数SNSやってたりするなら意味もあるのかもしれないけど、2画面の用途が思いつかない人は素直にPixel6を買ったほうが幸せになれるでしょう。スマホの2画面はあったら使うようになるものではない」、というのが2年近く2画面スマホを使った結論です。

ただこれらは大した理由なく2度も2画面スマホを買った人並みの感想です。他では結構いい評価だったりするので、用途が合えば良いものだと思います。

開梱

Amazon.comで購入し海を渡ってやってきたSurface Duo。特に通関なども問題なく、11月16日の購入から11月25日到着

箱めちゃでかい。充電器、ケーブルに加えバンパーもついてくる。ただ画面保護フィルムやカバーなどはついていないので必要なら一緒に買って置くと良いかもしれない。

f:id:hashicco:20211221001117j:plain

また、決済完了から約1ヶ月後くらいにいくらかリファンドがあり結局支払総額は6万しないくらいでした。

SIMフリーにするまでのやりとり

基本はこちらの記事を参考に、1. AT&TSIMロック解除申請 → 2. 数日待ってからMSサポートへヘルプ要請 → (3. MSに再連絡) → 4. 更に待つとAT&TからしれっとSIM解除コードが届く という流れで、計2週間でSIMフリーになりました。

1.AT&TでのSIMロック解除申請

www.att.com

ここで申請。特にチャットなど必要なく、IMEIとメアドなど入力するフォームを埋めるだけ。

ただ、一点注意なのがフォーム入力後メアド、申請確認用のメールが届くのですが、これの確認URLを踏まないといつまでもステータスが先に進みません。届いたメールは見逃さないように注意!

2.MSサポートへヘルプ要請

AT&Tに連絡しただけだといつまでもステータスIN-PROGRESSのまま動かないらしい。ということで、マイクロソフトのサポートに連絡を取らねばならない。URLはこちらMSアカウントへのログイン、言語をEnglishにする必要があります。

MSに連絡するのは早すぎてもだめらしく、AT&T連絡から数営業日くらい待ちましょう。 後でも書きますが、私は気がはやり2日位で連絡したせいなのか、余計なステップが1つ増えました。

で、米国MSに連絡するので当然時差を考えなければいけない。だいたいJST23時過ぎになると向こうのチャットサポートがオープンする。

最初の文面はこんな感じのものを準備しておきました(一応載せときますが英語があっている保証はないので自己責任で!)。結構フレンドリーに話しかけてくれてアドリブも必要になりますが、困ったらDeepLでも使いましょう。

AT&T Request number: NULXXXXXXXXXXX

IMEI: XXXXXXXXXXXX

S/N: XXXXXXXXXXXX

Name: XXXX XXXX

Mail address: xxxxxxxxx@gmail.com

Phone No: +81 XX XXXX XXXX

Hello.

I bought a new Surface Duo at amazon.com. This device is locked by AT&T carrier.

I requested AT&T to unlock it a couple of days ago. But have not heard back yet. (Req # NULXXXXXXXXXX status: IN-PROGRESS)

I am contacting here because I heard on the web that AT&T cannot provide unlock code and I need to consult Microsoft.

Sincerely,

XXXX XXXX

で、私はATTに解除コード申請してから2日位で連絡してしまったのですが、ちょっと早すぎたらしくすぐには対応できないと言われ、チャット担当者に直接連絡できるメアドをゲットして終了しました。

3. 少し待ってMSに再連絡

MSに連絡してから5営業日待ってみたもののATTからもMSからも音沙汰なし。ということでもらった直接連絡用メアドへ「あれから数日待ってみたけどだめっぽい。あなたの助けが必要だ!」的な連絡をしてみました。

すると翌日くらいに「連絡ありがとう。トラブルシューティング開始したよ!」と返事が来ました。

4.さらに1週間くらい待つとAT&TからSIM解除コードが送られてきた

どうやら上のノートの記事と異なって、MSからではなくATTから16桁の数字の長い解除コードが送られてきました。

ワイモバイルのSIMをSurface Duo本体に差し込んで再起動すると、コード入力画面が出現するのでそこにこの16桁数字を入力すると無事SIMロック解除されました!

APN設定はこちらを参考に設定。ちゃんと4Gの電波を掴んでくれています。

(ときどきG8Xと比較しながら)使用感レビュー!

ベンチマークで比較

比較は同じSD855、RAM 6GBのLG G8X VS Surface Duo。体感だとSurface Duoのほうがもっさりしてる気がするんですが、数値的にはSurface Duoの方が良いらしい。まあ中古で買って1年半フルで使ったG8Xと新品のSurface Duoの比較なんで参考記録として見ていただければ。

使用ソフト:3DmarkとGeekBench、バッテリーセーブを解除して充電しながらの測定です。

G8X

  • 3DMark wildlife Score 1898, FPS 11.40, Temp 31-35
  • 3DMark slingshot Overall 5584, Grph 7494, Phy 2951, Temp 32-35
  • GeekBench CPU Single 387, Multi 2012
  • GeekBench Compute(OpenCL) 1924

Surface Duo

  • 3DMark wildlife Score 2142, FPS 12.80, Temp 38-42
  • 3DMark slingshot Overall 7047, Grph 8734, Phy 4205, Temp 39-47
  • GeekBench CPU Single 761, Multi 2759
  • GeekBench Compute(OpenCL) 2493

カメラ

最近は滅多にカメラを使わないので良いのですが、Surface Duoには背面カメラがありません。インカメしかないので、2つ折りモードでカメラがない方の画面にプレビューが表示されて撮影する感じです。

f:id:hashicco:20211221001836j:plain

直近唯一撮ったピザの写真がこんな感じ。まあインカメといえどもそこそこ見れるものが撮れてると思いますが、最近のでかい背面カメラを搭載しているスマホたちと比べるようなものではないでしょう。

画面サイズ比較

この写真は先々代のスマホであるPixel3で撮ってます。なんかやけに白飛んじゃってますがご愛嬌。

f:id:hashicco:20220209225815j:plain

左のバキバキになってるのがG8X。右がSurface Duo。表示面積はおんなじくらいです。

f:id:hashicco:20211221002259j:plain

一画面同士の比較。上がSurface Duoです。やはりアスペクト比の違いがあります。

f:id:hashicco:20211221002421j:plain

開いた状態で右下をあわせて見たところ。Surface Duoのほうが指一本分くらい横に大きく、同じく指一本分くらい縦に短いです。

f:id:hashicco:20211221002517j:plain

折りたたみ状態での比較。持ちやすさは横幅の小さいG8Xのほうが上でした。

f:id:hashicco:20211221002617j:plain

全画面表示で例の草原を表示させたところ。こういう風景だと真ん中が少し見えないくらいは気になりませんが、実際アプリを全画面で使うときに非表示の領域ができるのはイマイチ。Microsoftの専用アプリ群や電子書籍か、2画面別々のアプリを開いて使うのが良いでしょう。

使用感

で、肝心の使用感ですが、第一印象はとにかくでかい!横に。

標準的な日本人の手のサイズだと楽には画面の端まで指が届かない。落ち着いて使える環境では両手で持つのがベター。

このアスペクト比一行の表示領域が長く、文章を読むのに結構便利。基本片画面で使っているのですが、表示に関しては文句なしです。

また、2画面アタッチ装備のG8Xよりは軽いとはいえ、250グラムの重量級スマホなので、やはり片手でハンドリングするのは大変。歩きながら使うのは落としそうで結構怖いです。

指紋センサーは電源ボタンなどからは独立してサイドにあり、割と認証精度はいい感じ

良いところは結構あるのですが、まとめで書いたとおり、折りたたみの認識がうまく行かないことが多々あり、片画面使用に難ありです。なんか操作おかしいなーと思うと裏側の画面が反応しており、関係ないアプリが起動してしまっていたり変な文字が入力されていることが。

なんかソフトウェアアップデートとかで解決してくれれば嬉しいのですが……。

正直使えるようになるまでの手間と値段を考えると、あんまり他人におすすめできないかなーと言うのが使い始めて2週間位たった今の正直な感想。慣れてくればこれらの不満も解消するかもしれないので、感想が変わったら随時追記していきたいと思います。

Razer Naga Proのサイドボタンの調子が悪かったのでRMA申請した

概要

買ってからちょうど一年くらい立ったRazer Naga Pro。

hashicco.hatenablog.com

前の記事で書いたとおり、正直2万円したわりには特にサイドボタンの動作が不安定でありあまり満足感は高くなかった。

更に半年くらい前からサイドボタンの5番の調子が悪く、何回か押さないと入力が行われない状態となっておりFF14のプレイに支障が出ていた。

5番はヒラで言うならアサリやラプチャー、不撓不屈などの範囲回復、DPS,タンクでは範囲コンボ2段目に割り当てているので1発で出てくれないと結構フラストレーションがある。

Razer Naga Proは公式ストアで購入し2年保証があるので、6.0が来る前にRazerサポートに連絡して修理してもらえないか頼んでみた。

結果的に非常に迅速かつ丁寧に対応してもらえ、新品へ5日で交換してくれてとても助かったのでブログに書いておく。

まとめ

  • Razerのサポートは非常に優秀。返答の速度も早く話も通じる。ただし英語のみ。
    • 英語はDeepL翻訳をちょろっと直すくらいで問題なくコミュニケーションできます。
    • 症状を示すための簡単な動画を撮るように言われるなど、しっかりとした対応をしてくれます。
  • Razer公式の通販で日本から買っても、ちゃんと保証期間どおりにサポートしてくれるようです。安心。
  • サポートケースオープンから2日ほど症状確認や故障した製品の処理を行った後、RMA申請が認められ速攻で香港から新品が発送。計5日で手元に新しいRazer Naga Proが届くという対応の速さ。
    • ただ新品への返品は一度きりの特別対応とのことですので、必ずしもこうなるかはわかりません。
  • なによりサポートの人たちがゲーマーに優しい。すごい親身になって対応してくれて助かる。
    • 以前Logicoolのサポートを受けたときは割と事務的だった気がするので、企業のカラーが出てるのかも

G600も昔サイドボタンの調子が悪くなって交換したことがあったが、最近はLogicoolの保証が渋くなっているという話も聞くので、このような安心サポート込なら2万円でも納得……かもしれない。

何れにせよRazerのFor Gamers. By Gamersの精神は感じ取ったので、これからもRazer製品を愛用していきたいと思います!

タイムライン

  • (私, 17-Sep-2021) sometimes the Button 5 on the MMO attach does not respond.であるという内容でサポートケースオープン

  • (Razer, 17-Sep-2021) もう少し詳細に症状を知りたいとのことで、症状を示す短い動画の添付やソフトウェア(Razer synapse)のバージョンの記載、手軽なトラブルシューティングとして清掃や他PCに繋いで治るかどうかを試すように求められる。また、RMAの準備として連絡先と購入時のレシートについても連絡するようにと言われる。

  • (私, 17-Sep-2021) マウスのサイドボタンを何回か押してメモ帳に入力が行われる様子をスマホで撮って証拠動画として提出。丁度良く最初何回かのクリックが入力されない様子が撮影できた。

  • (Razer, 18-Sep-2021) 症状が動画で確認できたのでRMAチームにケースをエスカレーションするよと言われる。

  • (Razer, 19-Sep-2021) RMAチームから「今回は特別に(one time exception)新品送るよ!」との連絡。壊れた方のマウスを使えないようにする作業として、案内書に従ってケーブルの切断とシリアルナンバーの書いてあるシールを剥がして切断するようにアナウンス。これの画像を送ればRMAプロセスを進めるとのこと。

    • Razer Naga Proは無線のマウスなのでケーブルを切っても使えるのだが、これでいいらしい。Razerの素晴らしいサポートに応えるためにも、シリアルの剥がされた中古品などは買わないようにしましょう。
  • (私, 19-Sep-2021) 言われたとおりに処理したRazer Naga Proの画像を撮影してサポートに送付。

  • (Razer, 20-Sep-2021) 画像を確認したので然るべき部署に引き継ぎますよと返答。

  • (Razer, 21-Sep-2021) *届いた伝票からの情報: * 香港から新Razer Naga Pro発送

  • (Razer, 22-Sep-2021) FedExで新しいRazer Naga Pro送ったよとの報告

  • (私, 23-Sep-2021) 新しいRazer Naga Proを受け取る。迅速で丁寧な対応ありがとう!と連絡。

  • (Razer, 23-Sep-2021) Be phenomenal. Be Razer!との決め台詞?でサポートクローズ。

終わりに

ちなみに我が家には今2台のRazer Naga Pro(1台は故障)があるという状態。2つあっても勿論同時に使う局面はないので意味ないですが。

f:id:hashicco:20210927131748j:plain

壊れた方はサイドカバーの分解とかして故障原因をいつか突き止めたいと思っていたりします。

Razerの熱いサポートも素晴らしいが、送って海外から2日で届くというのはFedExもすごいなと思いました。了。

XPG GAMMIX S70の2TBが¥27,980(税込)と安かったので買った

概要

今まで2年くらい500GBのPCIe3.0 m.2 SSDを使ってきたのだが、微妙に容量不足なのともっと速いSSDが欲しかったのでここ最近2TBクラスのSSDの値段をウォッチしていた。

Read 7000MB/s越えで2TBがあるラインナップということで大体この辺の商品の値動きを見ていたのだが、なかなかお安くならず。

まあPCIe5.0対応のが出るまで待ってもいいかと思っていた矢先、NTT-XのDMで衝撃の商品が!

全くノーマークだったADATA製のXPG GAMMIX S70の2TBが29980円、さらにクーポンで2000円引きの実質税込27,980円とのこと。

性能も確認してみたところRead7400MB/s、Write6800MB/s、IOPSも750K、1480TBの書き込み耐性、5年保証と特に欠点はなさそう。

XPG GAMMIX S70 PCIe Gen4x4 M.2 2280 ソリッドステートドライブ

なにより下位製品のS50がRead3000MB/s台で43,780円の所上位製品のこれが27,800円というのは超破格だったので、一もなく二もなく買ってしまったのである。

nttxstore.jp

まとめ

  • XPG GAMMIX S70はちゃんとスペック通りの性能が出る良い製品
    • もしまた27800円で売っている機会があれば迷いなく買ってよいだろう。
  • 付属のヒートシンクも許容できる性能
    • MPG B550 Gaming PlusのPCIe4 m.2の場所がグラボ直下なのはあるがしれないが、平常時55度、ベンチ時72度とちょっと熱め。ただ5分程度の短時間のベンチならサーマルスロットリングは見られない。
  • PCIe3.0のSSD(HP EX950)と体感上は全く変わらないものの、確かにFF14ベンチのローディングタイムは30%くらい短くなっているっぽい。

あとはどれだけ長持ちするかであるが、そればかりは使ってみないとわからないのでしばらくシステムディスクとして使っていこうと思う。

さすがに激安だったのでもうこの商品は売り切れてしまっているが、現時点では間違いなく良い買い物であったといえよう。

レビュー、詳細なベンチマーク結果などは下へ

外観

メタリックでゲーミングなカラーリングの外箱。

f:id:hashicco:20210915152518j:plain

ヒートシンクはシックで落ち着いたグレーシルバー色の小ぶりなもの。

f:id:hashicco:20210915152545j:plain

M2のポートがグラボの真下なのであまり横方向の風通しは良くないが、トンネル型に風の吹き抜けが開いている構造。ちょっと設置条件的に冷えるのか心配だが、マザボ付属のやつに付け替えるのも面倒なのでそのまま使うことにした。

f:id:hashicco:20210915152457j:plain

ベンチマーク

Crystal Disk Markの1GiBと8GiB。全体的に最新のSSDらしいスコアで尚且つデータサイズで大きな差は出ておらず、いい感じ。

f:id:hashicco:20210915151138p:plain f:id:hashicco:20210915151151p:plain

FF14ベンチ(暁月、最高品質4K)のローディングタイム:

  シーン#1    1.463sec
  シーン#2   2.961sec
  シーン#3   4.192sec
  シーン#4   1.792sec
  シーン#5   0.907sec
  合  計  11.315sec

また、大体FF14ベンチ時の温度は65度くらいだったので、ゲーム中であれば定格の動作温度の範囲内である70度未満で運用できそうだ。


参考記録:HP EX950 500GBの結果も載せておく。そもそもPCIeの世代が違うので参考にもならないかもしれないが。 Crystal Disk Markの1GiBと8GiB。 f:id:hashicco:20210915151415p:plain f:id:hashicco:20210915151435p:plain

FF14ベンチ(暁月、最高品質4K)のローディングタイム:

  シーン#1    2.177sec
  シーン#2   4.462sec
  シーン#3   6.049sec
  シーン#4   2.497sec
  シーン#5   1.434sec
  合  計  16.619sec

とりあえずFF14ベンチのローディングタイムは5秒くらい短くなったので、変えた意味はゲームをやるときにも多少出てくるだろう。いずれにせよこの値段で買えたなら大満足である。

AWS Associate資格を制覇(4冠)したので感想など

概要

今年の1月にCloud Practitionerを受けてから半年。ようやくAssociate資格3種を取得して4冠になりました。

hashicco.hatenablog.com

業務的に関係ありそうな順ということで、

  • 21/03/13 Solution Architect Associate(SAA)
  • 21/05/09 SysOps Associate(SOA)
  • 21/08/21 Developer Associate(DVA)

の順番で取りました。

なんとかどれも一発合格でしたが、一番きつかったのはSOAでした。逆に一番簡単だったのはDVA

役に立つかはわかりませんが、下にちょっとだけ勉強方法とか書いてみることにします。

受験者のバックグラウンド

自作PCオタクで多少PCには詳しい。基本情報技術者持ち。院卒社会人2年目。会社では半年前くらいからAWS少し使う人。

PythonとRちょっと使える。Linuxも一般人よりは使える。ネットワーク苦手だったので最近TCP/IPの本読んだ。

https://www.amazon.co.jp/dp/B085BG8CH5www.amazon.co.jp

得意ジャンル: 自作PCオタクなのでEC2、EBSはわかる。あと会社のセキュリティ要件的にVPCやらDirectConnect, Private Linkにはちょっと親しみがある。

苦手ジャンル、サービス: 普通のアプリケーション開発の経験が薄いので、Lambda、API Gateway、DynamoDB、Cognitoみたいなサービスが苦手。

全体的な対策

仕事の休み時間で勉強したかったので、本を買って勉強していました。

全体を通して役に立ったのはアソシエイトレベルを全カバーしているこれ。一通り読んであまり知らないサービスのページに付箋貼って、わからないページがなくなるまで読む感じ。

また、SysOpsは専用の参考書がないのでこの本だけが頼りでした。

https://www.amazon.co.jp/dp/B07TT1N73Kwww.amazon.co.jp

SAAではお馴染み黒本を買って読みました。受けたのがだいぶ前なのであんまり印象は無いですが、たしかPDFで模擬試験を100問ちょい配ってくれているのでそれだけで値段分の価値はある。

https://www.amazon.co.jp/dp/4295005495www.amazon.co.jp

DVAは専用の参考書は多分これしか無いのではないと思う。章末問題がたくさんあるので、わからない問題がなくなるまで繰り返して勉強しました。

https://www.amazon.co.jp/dp/4798063401www.amazon.co.jp

あとは個別サービスで気になった所があれば適宜Blackbelt資料を読んだり、

aws.amazon.com

どうしてもよくわからないサービスは触れてみるしか無いので、チュートリアルから気になるやつをピックアップして手を動かしたりしました。

aws.amazon.com

自分はさっきも書いたようにアプリケーション開発よわよわ人間なので、Lambda、DynamoDB、Cognitoとかでウェブアプリを作るこれは勉強になったと思う。

aws.amazon.com

自宅受験の注意点

田舎に住んでいる人間にとって自宅受験は大変ありがたい。全部自宅受験で受けました。

前の記事でも少し書いたが、デュアルモニターや机周りにデバイスまみれの人はそれを隠せる布を用意しておくことというのが一番大きい注意点。

あと、今回SAAだけ日程的に日本語で受験できなかったので英語で受けてみたのだが、少し勝手が違くて面倒でした。

ぶっちゃけて言うと日本語のほうがチェックがゆるい。PearsonVueの中国人ぽい試験官だと机の上みせて、部屋の周り見せて、手首見せてで試験にGO!なのだが、英語のときはモニターを覆っている布をめくって見せてみろだの、証明書が本物なのかわからんから厚みを確認させろだの厳しいチェックがありました。

更に、英語で受けたとき何故かチェックイン処理後のキュー待ちのときに「次はあなたの番です」から表示が動かなくなるというエラーに見舞われ、PearsonVueの人と英語でチャットのやり取りをする羽目になったので、なんだか試験後どっと疲れた覚えがあります。

絶対平日夜受けたい!とかの理由がなければ、おとなしく日本語で受けることをおすすめします。空いてないこともありますが、土曜でも14:30くらいまで受験枠があるのでサラリーマンでも安心。英語受験でも英語の能力はそんなにいりませんが、上記のようにめんどいです。

最後に、PearsonVueで受ける場合、Razerのマウスのユーティリティは全部落としてから試験を受けましょう。チェックイン時のアプリケーションチェックでは引っかからなかったのですが、問題の展開時にRazer関連のアプリを閉じろと言われてテンパりました。

あとがき

……とここまで書いて、他の受験記と殆ど同じような記事であることに気づいたがまあいいか。

次はSAPとDOPかなー。ここまで来たら6冠目指したい!参考書があんまり無いのでそろそろUdemy使おうかとも思っています。

分子生物学系を先行して製薬企業に入ったと思っていたらなんの因果かAWSの資格を取りまくっている社会人2年目。人生何が起きるかよくわからないものである。