2020年12月12日土曜日

アマゾンプライムビデオ、Linux上のHD再生問題

私は普段LinuxのPCを使っています。
ずっと前から、「アマゾンプライムビデオ」の画質がちょっと悪いな、
と気づきましたが、そんなもんだと思いました。
でも、最近分かったの。。。
プライムビデオがHD再生時、画面の左下に「HD」が表示します。
で、なんでいくら設定しても「HD」が表示されないの、
と調べたら、
アマゾンのホームページで
「Prime Videoの再生は、これらのウェブブラウザでサポートされています。WindowsまたはMac OS以外のオペレーティングシステムを実行している場合、再生は標準画質に制限されます。」
を見つかりました。

Linux上のHD再生は対応していません!😱

これはアマゾンジャパンだけではなく、米国アマゾンもそうらしい。
アマゾンのサポート窓口に問い合わせしたら、
「貴重な意見を担当部署にお伝えします」
のような回答しか得ませんでした。
改善するか、対応の見込みとか、一切教えてくれませんでした。
私たちLinuxを使っているプライムユーザーは、
首が長くなるまで、ただただ黙って待つ、
しかなさそうです。

このままだと、🦒になります。。。

ラスベリーパイ4のブートアップデバイス順番を変更

またものメモ書きです。
今回はラスベリーパイ4のブートアップ順についてです。

ブートアップデバイスの順番を変えるには、このコマンドを実行する。
sudo -E rpi-eeprom-config --edit
 
これで今の設定が開きます。
BOOT_ORDER=0xf14
を追加すれば、ブートアップ順はまずUSB、そしてmicroSDになります。
 
BOOT_ORDER=0xf41
にすれば、ブートアップ順はまmicroSD、そしてUSBになります。
 
ちなみに、ラスベリーパイ400も同じようにできるはずです。

2020年12月10日木曜日

TensorflowでGPUメモリの使用を制限

ディープラーニングという分野に興味があり、GTX 1660 Superという廉価GPUで自作PCを作りました。本格的にディープラーニングを研究する人にはこのGPUをお勧めできませんが。

このPCはほかの用途にも使用され、すべてのGPUメモリをモデル学習に使うわけではいきません。そこで、Tensorflowを使うとき、使用するGPUメモリの上限をプログラム内に設定する方法を見つかりました。

import tensorflow as tf

gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
  try:
    # Currently, memory growth needs to be the same across GPUs
    for gpu in gpus:
      tf.config.experimental.set_memory_growth(gpu, True)
    logical_gpus = tf.config.experimental.list_logical_devices('GPU')
    print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
  except RuntimeError as e:
    # Memory growth must be set before GPUs have been initialized
    print(e)

MEMORY_LIMIT=4096
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
  # Restrict TensorFlow to only allocate 1GB of memory on the first GPU
  try:
    tf.config.experimental.set_virtual_device_configuration(
        gpus[0], [tf.config.experimental.VirtualDeviceConfiguration(memory_limit=MEMORY_LIMIT)])
    logical_gpus = tf.config.experimental.list_logical_devices('GPU')
    print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
  except RuntimeError as e:
    # Virtual devices must be set before GPUs have been initialized
    print(e)

こうすれば、使用するGPUメモリの上限がMEMORY_LIMIT(単位:MB)の値になります。
ちなみに、最近RTX 30xxシリーズのGPUが出てきて、値段もそんなに高くない。
本格的にディープラーニングを始めようとする方はそちらがお勧めです。

笛子で『みちしるべ』の冒頭を吹いてみました

実は一年半前から、独学で笛子(中国の横笛)を習っています。
ま、習っているというより、YouTubeビデオを見て、
音が出せるようになったら、
自分で練習しています。

で、二日前から、茅原実里の『みちしるべ』を練習し始めました。
全然まだまだ引けませんが、
冒頭だけ、「披露」します。



出来が悪すぎて、恥ずかしいです。
これからもっと練習します!😅

2020年12月9日水曜日

手紙の翻訳

久々に手紙の翻訳依頼をいただきました。
一部の内容が、
「これが伝えたいから、適切に提案ください」
のようなものもありました。
タイプライターではありませんが、
人の想いを伝える。
これで私も自動手記人形?
少しヴァイオレット気分になりました。😅

梅酒収穫

先日、義理の父のところに行って、倉庫から梅酒が出てきました。
 
(↑PETボトルに積み替えた)
 
義理の母が生前作っていたものです。
合計5リトルぐらいかな?
以前、床下収納を片付けたら、
義理の母が生前作った梅酒、約13リトルが出てきました。
これで合計18リトルです。
 
家族で梅酒を飲むのが私だけです。。。
 
義理の母の愛情、感じるわ。。。
亡くなってからもう5年以上経ちます。
思い出すだけで泣きそうです。
😢

2020年12月8日火曜日

コマンドラインからUbuntu 20.04からUbuntu 20.10へアップグレード

Ubuntu 20.10がリリースされました。
私はラスベリーパイ4上でUbuntu Core 20.04を使っていました。
このガイドに従って、コマンドラインからUbuntu 20.10へアップグレードしました。
今回は私が実際に使った一連のコマンドを紹介します。

まず、
sudo apt update && sudo apt dist-upgrade
でレポ情報の更新と準備。
そして、
sudo nano /etc/update-manager/release-upgrades
を使って、/etc/update-manager/release-upgradesを編集します。
Prompt=lts
を
Prompt=normal
に変えます。
 
そして、
sudo do-release-upgrade -d
を実行し、アップグレードを開始させます。
少し時間かかります。
また、アップグレード中、数回プロンプトが出ます。
基本的にデフォルト回答で問題ありませんが、
サービスのリスタートについて、「はい」と答えても問題ありません。
 
アップグレードが完了したら、再起動します。
sudo reboot

第三者レポは無効にされますので、有効にするため、
sudo sed -i '/deb/s/^#//g' /etc/apt/sources.list.d/*.list
sudo sed -i 's/focal/groovy/g' /etc/apt/sources.list.d/*.list
sudo apt update
を実行します。
 
しかし、まだ20.10に対応しないレポもあるかもしれません。
例えば、メディアサーバーのJellyfinというソフトウェア。
この場合、無効にする必要があります。
sudo nano /etc/apt/sources.list.d/jellyfin.list
を実行して、該当レポの前に「#」を付けます。
例えば、
# deb [arch=arm64] https://repo.jellyfin.org/ubuntu groovy main # disabled on upgrade to groovy
 
こうすれば、sudo apt updateが実行できるようになるはずです。

neofetchの出力:

ま、システムをアップグレードすることはリスクがあります。
自己責任でこのガイドを活用してくださいね。
こちらは一切責任を負いませんから。
 
デスクトップ環境(GUI)が必要な方は、
「実際に試していません!」が、
ここで記載された方法でもできるはずです。
でも、Ubuntu Desktop 20.10をダウンロードした方が早いと思います。