Weights and Biases Quickstart on  Oct,2023 with WSL,poetry over proxy

# この記事について
- Weights and Biasesをサインアップし、公式QuickStartを実行するまでの記録です
- 2023/10/31時点
- proxy環境下でのメモを追加しました 12/22
## 環境
- OS:Windows10 pro 22H2＋WSL2＋Ubuntu22.04.2（WSLストア版)
- VSCode
- asdf導入済 (手順の中でasdfでpoetry入れてます)
- Weights and Biases Personal (無料版)
- (IP proxy)

# サインアップ
- [Weights and Biases prices](https://www.wandb.jp/pricing)からPersonalでサインアップ
![1signup.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436645/54d5b022-b934-cc66-4c58-00dca3bb0af1.jpeg)
- ログインするとQuickStartが出るのでこれに従って進めます
![2QuickStart.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436645/81825991-62b5-3ea1-d16a-934c5eb8e5f8.jpeg)

# proxy環境下での事前設定
- 会社や学校などproxy環境の場合はubuntuに以下の設定が必要です
- これらは、asdf,poetry自体または、これらのツールが内部的に参照します
## ~/.bashrc (pip,curl)
最後に以下を追加
``` .bashrc
export http_proxy=http://[proxyserver.address]:[proxy port]
export https_proxy=http://[proxy.server.address]:[proxy port]
```
## ~/.wgetrc (wget)
homeに新規作成
``` .wgetrc
use_proxy = on
https_proxy = http://[proxyserver.address]:[proxy port]/
http_proxy = http://[proxyserver.address]:[proxy port]/
```
## git
必要な方だけ
```
> git config --global http.proxy http://[proxyserver.address]:[proxy port]
```


# テスト環境作成
- まずpoetry環境を１つ準備
- poetryは、フォルダ単位でPython環境を作ってくれるもので、今回はpip installの代わりに使います
- Windowsの[スタート]-[Ubuntu22.04.2]でターミナルを立ち上げて作業フォルダを作成
``` csh
$ mkdir wandb
$ wandb
$ mkdir 1_Quickstart
```
- VSCodeを立ち上げて[RemoteExplorer]-[Ubuntu-22.04] または connect toで、WSL/ubuntu 上の上記1_Quickstart フォルダを開く
- VSCodeで.tool-versionsを新規作成 (バージョン適当です)
``` .tool-vertsinos
poetry 1.1.14
python 3.11.3
```
- VSCodeでTerminal-New Terminal
``` Terminal
$ asdf install
$ poetry init
```
- pyporject.tomlが出来るのでVSCodeで[tool.poetry.dependencies]のpython =　の行を編集し、上に合わせる
``` pyporject.toml
python = "=3.11.3"
```

``` sh
$ poetry config virtualenvs.in-project true --local
$ which python
```
which pythonの返り値をいれて
```
$ poetry env use [返り値]
$ poetry run python --version
```
- 問題ないのを確認したら
``` sh
$ poetry add wandb
```
- poetryが依存解決して入れてくれる
![4poetry-add-wandb.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436645/ea31bb44-c1c1-1735-33db-9d27c98c5a7a.jpeg)

# キーの登録
- VSCodeのターミナルで
``` sh
$ poetry run python
>>> import wandb
>>> wandb.login()
wandb: (1) Create a W&B account
wandb: (2) Use an existing W&B account
wandb: (3) Don't visualize my results
wandb: Enter your choice: 2
wandb: Logging into wandb.ai. (Learn how to deploy a W&B server locally: https://wandb.me/wandb-server)
wandb: You can find your API key in your browser here: https://wandb.ai/authorize
wandb: Paste an API key from your profile and hit enter, or press ctrl+c to quit: 
```
と出るので、
- [https://wandb.ai/authorize](https://wandb.ai/authorize)にアクセスすると自分のAPIキーが表示されるのでコピー
- または、 [Quickstart: Tracking your first run in Weights & Biases](https://wandb.ai/home)の中ほどのキーをコピーボタンを押して
![5CopyAPIKey.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436645/1e245bcc-4934-1118-8952-dd290b52f0a0.jpeg)
- ターミナルでCtrl+Cで貼り付け（エコーバックされません）して、[Enter]
```
wandb: Appending key for api.wandb.ai to your netrc file: /home/[your folder name]/.netrc
True
>>> 
```
-と表示され、.netrcに登録が完了するので、exit() でpythonを終了
# Quickstart
- サンプルソースをコピーし
![6ソースコピー.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436645/68677bda-b16d-557c-aa3d-189d2df7a3e2.jpeg)
- VSCodeでファイルを新規作成し、　（以下の例では、 wandb_quickstart.pyとしました）
![7サンプル保存.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436645/88ad835b-99da-7762-2f08-6c05dfe0aa39.jpeg)
- 貼り付け、保存
![8貼り付け保存.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436645/ce08bc88-7d0a-809c-1d29-be645bce799d.jpeg)
```
$ poetry run python wandb_quickstart.py
```
- しばらくすると、以下のような画面になるので、
![wandb_quickstartのコピー.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436645/664909c6-229f-a58f-dc13-534c45d5a4c5.jpeg)
- リンクをクリックすると、パネルが開きます。
![WandB画面.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436645/57c18b9b-0aca-d522-7e58-1e0b92e3eb4b.jpeg)
- リンクでパネルが開かない時は、WandBのログインから入れば出るかと。

- では、よい旅を
## お願い
- 間違い等あれば是非ご指摘ください

## 予定？
- wandbでLangchainデバッグ