---
# System prepended metadata

title: 社会人メモ(2021/9/15~)

---

#  社会人メモ(2021/9/15~)

## 1/29(Sun)

- rustで新しくmoduleを作ったとき、そのファイル内にてcompletionが効かない。これはrust-analyzerの仕様らしい。きちんとmain.rsでimportすること。(https://github.com/rust-lang/rust-analyzer/issues/7345)(file not included in module treeといわれる)
## 1/22(Sun)

- rust analyzerにてcargo内で新規ファイル（例：model.rs）を作成したとき、"file not included in module tree"と出てlspのautocompleteが働かないことがある→lsp-workspace-restart, lsp-rust-analyzer-reload-workspaceなどをすると動くようになる

## 1/2(Tue)

### netkeiba

- netkeibaレース結果
  - レース結果テンプレ
    - https://race.netkeiba.com/race/result.html?race_id={year}{place}{times}{days}{race}
  - 開催場(place)
    - 札幌：01
    - 函館：02
    - 福島：03
    - 新潟：04
    - 東京：05
    - 中山：06
    - 中京：07
    - 京都：08
    - 阪神：09
    - 小倉：10
  - 開催回数(times)
  - 開催日時(days)
  - レース(race)

- 実装したい機能リスト
  - 過去X年分のレース結果
  - 当日X番人気の過去Y年分の成績
    - 例：1番人気は過去10年で4-3-2-1
  - 過去X年でY場{B}mで3着以内の馬の同レース成績
    - 例：中山2000m以上で3着以内の馬の成績は4-3-2-1
  - 過去X年でG{Y}で3着以内の馬の同レース成績
    - 例：G2以上で3着以内の馬の成績は4-3-2-1
  - 騎手の距離・場所別成績
    - 川田は2000mまで
    - ルメールは東京強い

## 11/19(Sun)

- lspで仮想環境に入っているライブラリの補完が効かない→pipenv activateしてからpythonファイル開いてlspから聞かれる質問をnoで答えると効くようになる。
## 10/23(Mon)

### GPU推論時間計測
```
import torch
import numpy as np


model = torch.hub.load('pytorch/vision:v0.9.0',
                       'resnet50', pretrained=True)
device = torch.device("cuda")
model.to(device)
input_batch_cpu = torch.randn(128, 3, 224, 224)
dummy_input = input_batch_cpu.clone().detach().to('cuda')
model.eval()

# INIT LOGGERS
print('start logger')
starter = torch.cuda.Event(enable_timing=True)
ender = torch.cuda.Event(enable_timing=True)
repetitions = 300
timings = np.zeros((repetitions, 1))

# GPU-WARM-UP
with torch.no_grad():
    for _ in range(10):
        dummy_warmup_output = model(dummy_input)
        del dummy_warmup_output
        torch.cuda.empty_cache()

# MEASURE PERFORMANCE
with torch.no_grad():
    for rep in range(repetitions):
        starter.record()
        dummy_output = model(dummy_input)
        ender.record()
        # WAIT FOR GPU SYNC
        torch.cuda.synchronize()
        curr_time = starter.elapsed_time(ender)
        timings[rep] = curr_time
        del dummy_output
        torch.cuda.empty_cache()

mean_syn = np.sum(timings) / repetitions
std_syn = np.std(timings)
print(mean_syn)
```
## 10/8(Sun)

- magit status(C-x g)で「symbol's value as variable is void - executable-find」みたいなエラーが出る→「https://www.reddit.com/r/emacs/comments/107pc9m/emacs_can_find_the_executablefind_command/」
- compatとmagitを一度removeしてから再度入れ直し

## 8/18(Fri)

### emacsの設定

- all the icons→nerd-iconsに変更
- doom modelineをupdate
- package utilsを入れて、M-x package-utils-upgrade-by-nameで個別update
- elpyを捨ててlspへ移行（trampが使える）
  - 参考：https://umi-uyura.hatenablog.com/entry/2023/04/09/211446
  - lspを全体・仮想環境にpipで入れる(pip install python-lsp-server[all])
    - 両方に入っていないとpylspが見つかりませんでしたというエラーが出る
  - which pylspでlspの実体のパスを取得
  - M-x add-dir-local-variablesでpython-modeの変数lsp-pylsp-server-commandに上記のパスを追加、保存（dir-locals.el）
    - パスはダブルクォーテーションでくくること
  - pythonファイルを開いて、local variablesを読み込むかをyesで答えてM-x lsp
  - tabで補完できる
    - 補完はcompany, C-M-iでできる 
  - xref-find-definitions, referencesなどで定義・参照が見れる

### matplotlibをterminalで表示
- pip install python3-tk

## 2/19(Sun)

- cudnnのインストール

  - [ここに行く](https://developer.nvidia.com/rdp/cudnn-download)
  - local install for debを選ぶ
  - ```dpkg -i cudnn~```
  - ```sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/```
  - ```sudo apt update```
  - ```sudo apt install -y libcudnn8 libcudnn-dev libcudnn-samples```
- ControlNetについて
  - xformersを入れるとバグる(一緒に入るtorch関連のパッケージのせい？)
  - memoryが足りないのでconfig.pyのsave_memory的なところをTrueにする。
 
---

## 1/22(Sat)
- pipenvのインストールにめちゃくちゃみする
  - ```sudo apt-get install pip3```
  - ```pip3 install pipenv```
  - ```pipenv --python 3.8```
  - うまくいかないときは```ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data```がでてくる
  - こういうときは```pip3 uninstall pipenv```, ```pip3 uninstall virtualenv```, ```pip3 install virtualenv```する
  - pipのPATHを通すことを忘れない
  - ```export PATH="$PATH:/usr/bin/pip3:/home/naoki/.local/bin"```

## 1/19(Wed)
- awsパブリックIPv4アドレス:13.115.246.213
- awsプライベートIPv4アドレス:10.0.2.18

## 1/18(Tue)
- 結局素のubuntuの方が使いやすい（権限回りおかしい、動作もっさり、ein動かない）
- 土日で、使ってないSSDに新しくubuntuを入れなおす！（物理的にWindowsとLinux分ける, kubuntu!)

## 1/11(Tue)
- WSLの使い方メモ
    - Ubuntuを管理者権限で実行
    - config.xlaunchを実行
    - Ubuntu terminal内で``` gnome-terminal & ```
    - 最初は/mnt/cや~/.emacs.d/recentfのpermissionでエラーがでることがあった&rarr;```chmod 777 ```で解決
    - cuda, pytorchも入って普通に使える（Chromeの方が使いにくい、CTRL+pとかしたいときにCTRLをもう一度押さなければならないから)
    - gpu使うときはubuntu, 競プロ（？）するときはWindowsみたいな感じで使い分けた方がいいかも

## 12/30(Thu)
- shortkeysのscroll downにctrl+Nを割り当てることでなんとか動くようになった
- .emacs.dを置き換えたらうごくようになった
- M-x all-the-icons-install-fontsでアイコンの文字化け治る

## 11/7(Sun)
- nvidia driverをaptでいれるとsuspendできなくなるのでrunファイルからinstallするようにした
- aptでcudaをいれてもならない（495のdriver入れられる&rarr;suspendバグ）
- 競馬aiつくる(画像取得、deeplabv3でsegmentation)
## 10/7(Thu)
- シェル芸挑戦
- 眠くても何もやらずに寝ることだけは避ける

## 10/6(Wed)
- 少しだけ並列プログラミング読んだ
- あと部屋の模様替えした（デスクトップをちゃんとデスクの上に置くようにした）

## 9/27(Mon)
- 実習を通しての振り返り

## 9/24(Fri)
- mit_python:8章(testing and debugging)
- 基本情報の申込みと勉強始める
- 土日は基本家で勉強する
- 自転車の空気入れに行く
- 
## 9/15
- Introduction to~の勉強
- ~~最終日に配るお菓子を買いに行く（土日）~~
- ibus-mozcに変えたらバグ治った（なぜか「の」が打てなかった）
- でもrebootしたらカーネルを変更しないとubuntuが起動しない（土日に解決試みる）