プログラマの日報

プログラマが1日の活動や勉強内容を記録します

論文の再現を諦める

2020-11-25

やったこと

  • 勤務
  • 論文読み
  • ドイツ語の勉強

学んだこと・感想

  • 今日は在宅勤務をした
  • 娘が熱を出したので保育園に迎えに行った
  • とりあえず今読んでいる論文についてはよくわからないので再現を諦め始めた

今週やること

  • 歯医者
  • 通院
  • 会食

出勤するか迷う

2020-11-24

やったこと

  • 勤務
  • 論文読み
    • iterated function systemについて調べたり実装して実験したり
  • 読書:『達人プログラマー』数節くらい

学んだこと・感想

  • ランチに職場近くの高級中華店でラーメンを食べたけどあまりおいしくなかった
  • 職場に出勤するか迷う。出勤すると仕事に集中できて通勤時間に本を読めておいしいランチが食べられる。出勤しないと感染リスクを減らせる。うーん……

今週やること

  • 歯医者
  • 通院
  • 会食

娘の習い事体験に行く

2020-11-22

やったこと

学んだこと・感想

  • IFSでフラクタルを生成するやつがよくわからない。もっと具体的なコード例をみる必要がありそう
  • 読んでいる論文、コードが公開されているものだと思っていたが探してみたらまだ未公開だった
  • 娘の習い事の体験に行った。効果があるのかは謎だけど、まあ気分転換と刺激くらいにはなりそうだしやってみようかなあと思った
  • 『達人プログラマー』を読んで昔の失敗を思い出して後悔するなどした

今週やること

  • 娘の通院: 完了
  • 娘の習い事: 完了

新しい自作パソコンの構成

新しく組んだ自作パソコンの構成

新しく自作パソコンを組んだので、構成を記録しておく。用途は主にディープラーニングの実験。モニタやキーボードは流用(SSHでつなぐのであまり使わないけれど)。

構成

選定基準

  • CPU
    • 自分で適当にプログラムを書くとシングルコアの利用になるので、シングルコア性能が高いもの
    • 用途からいってCPU性能はあまり重要ではないはず
    • 大きいデータセットを高速で読み込みたいことがあるので、PCIe Gen4のSSDに対応しているRyzenを選定
    • 値段の割りに性能がすごい新製品だと話題だったので
  • CPU-FAN
    • こだわりなし。厳しそうだったらあとで買い換える
  • Mmeory
    • KaggleのCornell Birdcall Identificationをやっていたときに100GBくらいのデータをメモリに読み込んでいたので、理想的には128GB以上ほしい
    • すぐに128GBを使うかわからなかったので、とりあえず2*32GB載せておいた
  • M/B
    • サイズを小さくする動機はあまりないので、将来の拡張性のためにATXサイズ
    • PCIe Gen4のSSDを使うため、チップセットがB550のもの
    • 将来Windowsを入れたくなったとき、M.2 NVMe SSDを追加する可能性があるので、2本目のSSDがPCIe GEN3 x4で動くもの
    • Wi-Fi6対応だと理想的だが、条件を満たすものが手ごろな価格で見つからなかったので、Wi-FiはPCIeで増設して済ませることにした
  • VGA
    • 性能と消費電力のバランスを考えてRTX 3070を選択
    • 静かに使いたかったので3連ファンのもの
    • OCには興味がなかったのであとはメーカーと値段と在庫で選択
  • SSD
    • PCIe GEN4対応
    • メーカーで選択
    • 500GBだと手狭そう、2TBだと高そうなので、とりあえず1TB
  • 電源
    • RTX3070の推奨電源容量650Wのもの
    • 新しめの製品
    • 信頼できるメーカー
  • ケース
    • なんでもよかったので店員おすすめのもの
    • 静音性が高そうな名前
    • 使ってみたら、電源の設置位置が低く電源コードの取り回しが少し難しかった。少しの苦闘の末、結局ケース下部のSSDをマウントする部品は完全に取り外した。いまは静かに動いている
  • Wi-Fiカード
    • Wi-Fi 6対応のもの
    • 店にあったものを適当に選択
    • Ubuntuに対応しているかわからず賭けで買ったけれど、IntelのAX200が搭載されているようで、Ubuntu 20.04はデフォルトでドライバを持っているようだったのでめでたく動いた
  • OS
    • ディープラーニングがやりたいのでUbuntu
    • WSL2.0でもうまくいくという話があるが、苦労しそうな気がしたので素直に直接入れることにした

TensorFlowが動いた

2020-11-21

やったこと

  • 家族で公園へ
  • 本屋
  • 論文読み
  • 娘の薬の受け取り
  • 買い出し

学んだこと・感想

  • 昨日のTensorFlowのエラーの件は、GPU対応版のDockerイメージを使わないといけなかったらしい
    • そしてRTX 3070(Ampere)の場合はTensorFlow 2.3.1では対応されていなくて、2.4.0以上を使わないといけないらしい
      • Dockerイメージでいうと、現在の latest-gpu はダメで nightly-gpu を使う必要がある
    • CUDAやcuDNNはTensorFlowのDockerイメージに含まれている
    • MNISTのサンプルを動かしたところ、RTX 3070は1 epochあたり約2秒で、Google ColabのT4は1 epochあたり約3秒かかったので、ちゃんと高速に動いているらしい
      • もっと適切なベンチマークをやりたかったけれど、すぐにできるものが見つからなかった
  • 本屋で娘用に絵本を買った。絵本は無闇に種類があるし対象年齢も不明確で選ぶのが難しいと思った
  • "Pre-training without Natural Images"という論文を読んでいる。面白い
  • 夕方に突然左側のまぶたが落ちてきて、体調が不安

今週やること

  • 娘の通院: 完了
  • 娘の習い事

引き続きPCのセットアップ

2020-11-20

やったこと

  • 勤務
  • 娘の通院
  • パソコンのセットアップ
    • Dockerのインストール
    • nvidia-docker2のインストール
  • Honda eのミニ四駆の組み立て

学んだこと・感想

  • tensorflow:tensorflowのDocker Imageを使ったけれど import tensorflow した時点で libcudart.so.10.1 がないといわれた。TensorFlowのバージョンが2.3.1だからCUDA 11.1に対応していないのだろうか
  • 娘のかかりつけ医がぶっきらぼうで少し怖い感じがしてたけど、今日客観的に考えながら話してたらむしろ自分がぶっきらぼうなのではないかという気がしてきた
  • 20年ぶりくらいにミニ四駆を組み立てたけど楽しかった。組み立て説明書がすごくわかりやすくて感心した

今週やること

  • 娘の通院: 完了
  • 娘の習い事