NVIDIAのGPUのdriverの更新

NVIDIAのGPUのdriver更新手順

色々手順はあると思いますが、1つのやり方のメモです。

  1. 古いドライバを削除しておく
    • 公式からCUDA Toolkitをダウンロードしてインストールした場合は次で削除できるはず。
      $ cd /usr/local/cuda-x/bin 
      $ sudo cuda-uninstaller
      $ sudo nvidia-uninstall
      
    • もしapt-getを使って古いドライバを入れていたら次のコマンドで消え去るはず。nvidia containerが入っている場合はそれも消えるので、嫌な人は注意。
      sudo apt-get remove --purge nvidia\* libnvidia-\*
      
  2. CUDA Toolkitのダウンロードとインストール(Installer Typeはrunfileが一番ラク)
    • CUDA 11.2ならここの手順に従うhttps://developer.nvidia.com/cuda-11.2.1-download-archive
    • 最新版のCUDAはここの手順に従うhttps://developer.nvidia.com/cuda-downloads
  3. nvidia-smiコマンドを実行して動けばOK

m3u8ファイルとtsファイルのdownload

ライブストリーミングや動画の配信するためにm3u8とtsファイルを利用するケースがあります。 tsファイルは細切れになった小さい動画になっており、m3u8ファイルはそれらの情報をもっているプレイリストになります。

This version of ChromeDriver only supports Chrome version xxとなったとき

Google Chromeのバージョンをあげたあと、ImageDownloaderなどを使っているときに次のようなエラーメッセージがでることがあります。

Message: session not created: This version of ChromeDriver only supports Chrome version 86

最後の86のところはChromeのバージョンによって変わります。

これはChromeDriverのバージョンとGoogle Chromeのバージョンが異なっていることによって起きるエラーです。 そのため、ChromeDriverのバージョンをあげればよいです。

Sum Treeで重みにそってサンプリングする(Python実装)

Sum Treeで重みにそってサンプリングする(Python実装)

問題設定

次のような設定でサンプリングをしたいことはよくあると思います。

3つのデータがあり、それぞれに重みがつけられているとする。
それぞれ、データ1の重みは10、データ2の重みは20、データ3の重みは30である。
このときに各データの重みと全体の重みの和の比を確率としてサンプリングをしたい。
つまり、データ1は10/60、データ2は20/60、データ3は30/60の確率でサンプリングすることになる。

シンプルな方法

さきほどの問題設定のとき、簡単にサンプリングする方法は正規化された重みの和を順に足していき、一様分布からサンプリングした乱数がその和を超えたときのデータを取得するという方法です。 手順は次のようになります。