勉強しないとな~blog

ちゃんと勉強せねば…な電気設計エンジニアです。

楽天証券でなんかやってみる

楽天証券と、NISA口座の設定ができたので、とりあえず商品購入とか積立設定とかしてみる。

らくらく投資

楽天証券さんがらくらく投資というのを用意してくれてるので、やってみる。

投資がよくわかってないし、なんとなく調べてみても頭に入ってこないので、とにかくやってみるのがいいだろうと思う。

らくらく投資で、まずいくつか質問されて、おすすめコース診断してくれるが、一番冒険的な、がっちりコースになった。
楽天証券さん的にはそっちに寄せようとするのか。

NISAつみたて投資枠で、毎月1000円にしておいた。

設定したが、2月中頃に審査?とかがあって、最初にお金を出すのが3月頭になるとのこと。ちょっと先が長い。

他の商品

らくらく投資が動き始めるまでまだかかるので、スポット購入で何か商品持ってみたい。

NISAのつみたて投資枠は積立設定するものしかできないが、成長投資枠ならスポット購入できそうなので、そっちで探す。

商品を見てみると、投資信託、国内株式、米国株式など出てくるが、株式を自分で選ぶのはまだよくわからないので、投資信託で選んでみる。

ファンドセレクションというのがあるので、そこから選んでみる。

種類

セレクションの中にも、分類がいくつかあるが、国内株式、先進国株式で試してみる。

国内株式

値動きは比較的穏やからしい。

eMAXIS Slim 国内株式(TOPIX
三菱UFJアセットマネジメント

先進国株式

米国株式投資の最初の一本としておすすめとのこと。 上と同じ三菱UFJアセットマネジメントがやってるやつもあるが、いろんなとこお試しということで、こっちにしてみる。

楽天・全米株式インデックス・ファンド
楽天投信投資顧問

購入

それぞれ数千円分を、NISA成長投資枠、分配金は再投資型で購入した。

金額が違うのは、手続きしながらちょっとびびってきたため。

購入手続きすると、注文受付のメールが来た。
保有商品への反映は、明日か明後日になるとのこと。

以上

これからどう値動きするのか楽しみ。

YOLOv8試し

会社で必要になったので、YOLOのv8を試してみる。

公式GitHub

github.com

↑ 頻繁にバージョンアップするので、v8.1.0のタグが付いているところのリンク。

ドキュメント見ると、YOLO v5でやったときだとGitHubリポジトリからクローンして使っていたが、今はpipでインストールすればいいだけになっているよう。

やりたいこと

人物の姿勢推定をやりたい。
前OpenPoseでやってみたが、最近のYOLOでも簡単にできるようになっているようだったので、やってみる。

以降はJupyterで実行。

環境準備

conda環境新しく作って、そこにpipでインストールする。

!conda create -n yolov8 python=3.10 -y

結果長いのでクリックで開閉式

Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: C:\Users\a\.conda\envs\yolov8

  added / updated specs:
    - python=3.10


The following NEW packages will be INSTALLED:

  bzip2              pkgs/main/win-64::bzip2-1.0.8-he774522_0 
  ca-certificates    pkgs/main/win-64::ca-certificates-2023.12.12-haa95532_0 
  libffi             pkgs/main/win-64::libffi-3.4.4-hd77b12b_0 
  openssl            pkgs/main/win-64::openssl-3.0.12-h2bbff1b_0 
  pip                pkgs/main/win-64::pip-23.3.1-py310haa95532_0 
  python             pkgs/main/win-64::python-3.10.13-he1021f5_0 
  setuptools         pkgs/main/win-64::setuptools-68.2.2-py310haa95532_0 
  sqlite             pkgs/main/win-64::sqlite-3.41.2-h2bbff1b_0 
  tk                 pkgs/main/win-64::tk-8.6.12-h2bbff1b_0 
  tzdata             pkgs/main/noarch::tzdata-2023d-h04d1e81_0 
  vc                 pkgs/main/win-64::vc-14.2-h21ff451_1 
  vs2015_runtime     pkgs/main/win-64::vs2015_runtime-14.27.29016-h5e58377_2 
  wheel              pkgs/main/win-64::wheel-0.41.2-py310haa95532_0 
  xz                 pkgs/main/win-64::xz-5.4.5-h8cc25b3_0 
  zlib               pkgs/main/win-64::zlib-1.2.13-h8cc25b3_0 



Downloading and Extracting Packages


Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
#
# To activate this environment, use
#
#     $ conda activate yolov8
#
# To deactivate an active environment, use
#
#     $ conda deactivate





==> WARNING: A newer version of conda exists. <==
  current version: 23.5.2
  latest version: 23.11.0

Please update conda by running

    $ conda update -n base -c defaults conda

Or to minimize the number of packages updated during conda update use

     conda install conda=23.11.0

Jupyterカーネルを作ったyolov8環境に切り替えて。

!pip install ultralytics

結果長いのでクリックで開閉式

Collecting ultralytics
  Downloading ultralytics-8.1.5-py3-none-any.whl.metadata (40 kB)
     ---------------------------------------- 0.0/40.2 kB ? eta -:--:--
     ------------------- ------------------ 20.5/40.2 kB 640.0 kB/s eta 0:00:01
     -------------------------------------- 40.2/40.2 kB 637.5 kB/s eta 0:00:00
Collecting matplotlib>=3.3.0 (from ultralytics)
  Downloading matplotlib-3.8.2-cp310-cp310-win_amd64.whl.metadata (5.9 kB)
Collecting numpy>=1.22.2 (from ultralytics)
  Downloading numpy-1.26.3-cp310-cp310-win_amd64.whl.metadata (61 kB)
     ---------------------------------------- 0.0/61.2 kB ? eta -:--:--
     ---------------------------------------- 61.2/61.2 kB 3.4 MB/s eta 0:00:00
Collecting opencv-python>=4.6.0 (from ultralytics)
  Downloading opencv_python-4.9.0.80-cp37-abi3-win_amd64.whl.metadata (20 kB)
Collecting pillow>=7.1.2 (from ultralytics)
  Downloading pillow-10.2.0-cp310-cp310-win_amd64.whl.metadata (9.9 kB)
Collecting pyyaml>=5.3.1 (from ultralytics)
  Downloading PyYAML-6.0.1-cp310-cp310-win_amd64.whl.metadata (2.1 kB)
Collecting requests>=2.23.0 (from ultralytics)
  Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting scipy>=1.4.1 (from ultralytics)
  Downloading scipy-1.12.0-cp310-cp310-win_amd64.whl.metadata (60 kB)
     ---------------------------------------- 0.0/60.4 kB ? eta -:--:--
     ---------------------------------------- 60.4/60.4 kB 3.1 MB/s eta 0:00:00
Collecting torch>=1.8.0 (from ultralytics)
  Downloading torch-2.1.2-cp310-cp310-win_amd64.whl.metadata (26 kB)
Collecting torchvision>=0.9.0 (from ultralytics)
  Downloading torchvision-0.16.2-cp310-cp310-win_amd64.whl.metadata (6.6 kB)
Collecting tqdm>=4.64.0 (from ultralytics)
  Downloading tqdm-4.66.1-py3-none-any.whl.metadata (57 kB)
     ---------------------------------------- 0.0/57.6 kB ? eta -:--:--
     ---------------------------------------- 57.6/57.6 kB ? eta 0:00:00
Requirement already satisfied: psutil in c:\users\a\.conda\envs\yolov8\lib\site-packages (from ultralytics) (5.9.0)
Collecting py-cpuinfo (from ultralytics)
  Downloading py_cpuinfo-9.0.0-py3-none-any.whl (22 kB)
Collecting thop>=0.1.1 (from ultralytics)
  Downloading thop-0.1.1.post2209072238-py3-none-any.whl (15 kB)
Collecting pandas>=1.1.4 (from ultralytics)
  Downloading pandas-2.2.0-cp310-cp310-win_amd64.whl.metadata (19 kB)
Collecting seaborn>=0.11.0 (from ultralytics)
  Downloading seaborn-0.13.1-py3-none-any.whl.metadata (5.4 kB)
Collecting contourpy>=1.0.1 (from matplotlib>=3.3.0->ultralytics)
  Downloading contourpy-1.2.0-cp310-cp310-win_amd64.whl.metadata (5.8 kB)
Collecting cycler>=0.10 (from matplotlib>=3.3.0->ultralytics)
  Downloading cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)
Collecting fonttools>=4.22.0 (from matplotlib>=3.3.0->ultralytics)
  Downloading fonttools-4.47.2-cp310-cp310-win_amd64.whl.metadata (160 kB)
     ---------------------------------------- 0.0/160.8 kB ? eta -:--:--
     -------------------------------------- 160.8/160.8 kB 4.9 MB/s eta 0:00:00
Collecting kiwisolver>=1.3.1 (from matplotlib>=3.3.0->ultralytics)
  Downloading kiwisolver-1.4.5-cp310-cp310-win_amd64.whl.metadata (6.5 kB)
Requirement already satisfied: packaging>=20.0 in c:\users\a\.conda\envs\yolov8\lib\site-packages (from matplotlib>=3.3.0->ultralytics) (23.2)
Collecting pyparsing>=2.3.1 (from matplotlib>=3.3.0->ultralytics)
  Downloading pyparsing-3.1.1-py3-none-any.whl.metadata (5.1 kB)
Requirement already satisfied: python-dateutil>=2.7 in c:\users\a\.conda\envs\yolov8\lib\site-packages (from matplotlib>=3.3.0->ultralytics) (2.8.2)
Collecting pytz>=2020.1 (from pandas>=1.1.4->ultralytics)
  Downloading pytz-2023.3.post1-py2.py3-none-any.whl.metadata (22 kB)
Collecting tzdata>=2022.7 (from pandas>=1.1.4->ultralytics)
  Downloading tzdata-2023.4-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting charset-normalizer<4,>=2 (from requests>=2.23.0->ultralytics)
  Downloading charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl.metadata (34 kB)
Collecting idna<4,>=2.5 (from requests>=2.23.0->ultralytics)
  Downloading idna-3.6-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests>=2.23.0->ultralytics)
  Downloading urllib3-2.1.0-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests>=2.23.0->ultralytics)
  Downloading certifi-2023.11.17-py3-none-any.whl.metadata (2.2 kB)
Collecting filelock (from torch>=1.8.0->ultralytics)
  Downloading filelock-3.13.1-py3-none-any.whl.metadata (2.8 kB)
Requirement already satisfied: typing-extensions in c:\users\a\.conda\envs\yolov8\lib\site-packages (from torch>=1.8.0->ultralytics) (4.9.0)
Collecting sympy (from torch>=1.8.0->ultralytics)
  Downloading sympy-1.12-py3-none-any.whl (5.7 MB)
     ---------------------------------------- 0.0/5.7 MB ? eta -:--:--
     --- ------------------------------------ 0.5/5.7 MB 14.2 MB/s eta 0:00:01
     -------- ------------------------------- 1.2/5.7 MB 15.6 MB/s eta 0:00:01
     ------------- -------------------------- 2.0/5.7 MB 15.8 MB/s eta 0:00:01
     ------------------ --------------------- 2.7/5.7 MB 15.7 MB/s eta 0:00:01
     --------------------- ------------------ 3.1/5.7 MB 15.3 MB/s eta 0:00:01
     -------------------------- ------------- 3.9/5.7 MB 14.5 MB/s eta 0:00:01
     ----------------------------- ---------- 4.3/5.7 MB 14.4 MB/s eta 0:00:01
     ---------------------------------- ----- 5.0/5.7 MB 14.5 MB/s eta 0:00:01
     ---------------------------------------  5.7/5.7 MB 14.6 MB/s eta 0:00:01
     ---------------------------------------- 5.7/5.7 MB 14.1 MB/s eta 0:00:00
Collecting networkx (from torch>=1.8.0->ultralytics)
  Downloading networkx-3.2.1-py3-none-any.whl.metadata (5.2 kB)
Collecting jinja2 (from torch>=1.8.0->ultralytics)
  Downloading Jinja2-3.1.3-py3-none-any.whl.metadata (3.3 kB)
Collecting fsspec (from torch>=1.8.0->ultralytics)
  Downloading fsspec-2023.12.2-py3-none-any.whl.metadata (6.8 kB)
Requirement already satisfied: colorama in c:\users\a\.conda\envs\yolov8\lib\site-packages (from tqdm>=4.64.0->ultralytics) (0.4.6)
Requirement already satisfied: six>=1.5 in c:\users\a\.conda\envs\yolov8\lib\site-packages (from python-dateutil>=2.7->matplotlib>=3.3.0->ultralytics) (1.16.0)
Collecting MarkupSafe>=2.0 (from jinja2->torch>=1.8.0->ultralytics)
  Downloading MarkupSafe-2.1.4-cp310-cp310-win_amd64.whl.metadata (3.1 kB)
Collecting mpmath>=0.19 (from sympy->torch>=1.8.0->ultralytics)
  Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)
     ---------------------------------------- 0.0/536.2 kB ? eta -:--:--
     ------------------------------------- 536.2/536.2 kB 17.0 MB/s eta 0:00:00
Downloading ultralytics-8.1.5-py3-none-any.whl (702 kB)
   ---------------------------------------- 0.0/702.8 kB ? eta -:--:--
   --------------------------------------  696.3/702.8 kB 14.6 MB/s eta 0:00:01
   --------------------------------------- 702.8/702.8 kB 14.7 MB/s eta 0:00:00
Downloading matplotlib-3.8.2-cp310-cp310-win_amd64.whl (7.6 MB)
   ---------------------------------------- 0.0/7.6 MB ? eta -:--:--
   ---- ----------------------------------- 0.9/7.6 MB 18.7 MB/s eta 0:00:01

  ...

   ---------------------------------------  7.6/7.6 MB 14.0 MB/s eta 0:00:01
   ---------------------------------------- 7.6/7.6 MB 13.2 MB/s eta 0:00:00
Downloading numpy-1.26.3-cp310-cp310-win_amd64.whl (15.8 MB)
   ---------------------------------------- 0.0/15.8 MB ? eta -:--:--
   - -------------------------------------- 0.6/15.8 MB 18.6 MB/s eta 0:00:01

  ...

   ---------------------------------------  15.8/15.8 MB 13.9 MB/s eta 0:00:01
   ---------------------------------------- 15.8/15.8 MB 13.4 MB/s eta 0:00:00
Downloading opencv_python-4.9.0.80-cp37-abi3-win_amd64.whl (38.6 MB)
   ---------------------------------------- 0.0/38.6 MB ? eta -:--:--
   ---------------------------------------- 0.4/38.6 MB 23.7 MB/s eta 0:00:02

  ...

   ---------------------------------------  38.6/38.6 MB 11.9 MB/s eta 0:00:01
   ---------------------------------------- 38.6/38.6 MB 11.3 MB/s eta 0:00:00
Downloading pandas-2.2.0-cp310-cp310-win_amd64.whl (11.6 MB)
   ---------------------------------------- 0.0/11.6 MB ? eta -:--:--
   -- ------------------------------------- 0.7/11.6 MB 14.8 MB/s eta 0:00:01

  ...

   ---------------------------------------  11.4/11.6 MB 13.4 MB/s eta 0:00:01
   ---------------------------------------- 11.6/11.6 MB 13.1 MB/s eta 0:00:00
Downloading pillow-10.2.0-cp310-cp310-win_amd64.whl (2.6 MB)
   ---------------------------------------- 0.0/2.6 MB ? eta -:--:--
   ---------- ----------------------------- 0.7/2.6 MB 14.4 MB/s eta 0:00:01
   -------------------- ------------------- 1.4/2.6 MB 14.4 MB/s eta 0:00:01
   --------------------------------- ------ 2.2/2.6 MB 15.5 MB/s eta 0:00:01
   ---------------------------------------- 2.6/2.6 MB 15.2 MB/s eta 0:00:00
Downloading PyYAML-6.0.1-cp310-cp310-win_amd64.whl (145 kB)
   ---------------------------------------- 0.0/145.3 kB ? eta -:--:--
   ---------------------------------------- 145.3/145.3 kB ? eta 0:00:00
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
   ---------------------------------------- 0.0/62.6 kB ? eta -:--:--
   ---------------------------------------- 62.6/62.6 kB 3.3 MB/s eta 0:00:00
Downloading scipy-1.12.0-cp310-cp310-win_amd64.whl (46.2 MB)
   ---------------------------------------- 0.0/46.2 MB ? eta -:--:--
   ---------------------------------------- 0.5/46.2 MB 30.1 MB/s eta 0:00:02

  ...

   ---------------------------------------  46.2/46.2 MB 15.2 MB/s eta 0:00:01
   ---------------------------------------- 46.2/46.2 MB 14.2 MB/s eta 0:00:00
Downloading seaborn-0.13.1-py3-none-any.whl (294 kB)
   ---------------------------------------- 0.0/294.8 kB ? eta -:--:--
   --------------------------------------- 294.8/294.8 kB 17.8 MB/s eta 0:00:00
Downloading torch-2.1.2-cp310-cp310-win_amd64.whl (192.3 MB)
   ---------------------------------------- 0.0/192.3 MB ? eta -:--:--
   ---------------------------------------- 0.7/192.3 MB 13.9 MB/s eta 0:00:14

  ...

   --------------------------------------  192.3/192.3 MB 12.8 MB/s eta 0:00:01
   --------------------------------------- 192.3/192.3 MB 10.2 MB/s eta 0:00:00
Downloading torchvision-0.16.2-cp310-cp310-win_amd64.whl (1.1 MB)
   ---------------------------------------- 0.0/1.1 MB ? eta -:--:--
   ----------- ---------------------------- 0.3/1.1 MB 10.2 MB/s eta 0:00:01
   ------------ --------------------------- 0.4/1.1 MB 3.8 MB/s eta 0:00:01
   --------------- ------------------------ 0.4/1.1 MB 3.1 MB/s eta 0:00:01
   ----------------- ---------------------- 0.5/1.1 MB 2.6 MB/s eta 0:00:01
   ----------------------- ---------------- 0.7/1.1 MB 3.0 MB/s eta 0:00:01
   -------------------------------------- - 1.1/1.1 MB 3.9 MB/s eta 0:00:01
   ---------------------------------------- 1.1/1.1 MB 3.6 MB/s eta 0:00:00
Downloading tqdm-4.66.1-py3-none-any.whl (78 kB)
   ---------------------------------------- 0.0/78.3 kB ? eta -:--:--
   ---------------------------------------- 78.3/78.3 kB 4.5 MB/s eta 0:00:00
Downloading certifi-2023.11.17-py3-none-any.whl (162 kB)
   ---------------------------------------- 0.0/162.5 kB ? eta -:--:--
   ---------------------------------------- 162.5/162.5 kB 9.5 MB/s eta 0:00:00
Downloading charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl (100 kB)
   ---------------------------------------- 0.0/100.3 kB ? eta -:--:--
   ---------------------------------------- 100.3/100.3 kB ? eta 0:00:00
Downloading contourpy-1.2.0-cp310-cp310-win_amd64.whl (186 kB)
   ---------------------------------------- 0.0/186.7 kB ? eta -:--:--
   --------------------------------------- 186.7/186.7 kB 11.0 MB/s eta 0:00:00
Downloading cycler-0.12.1-py3-none-any.whl (8.3 kB)
Downloading fonttools-4.47.2-cp310-cp310-win_amd64.whl (2.2 MB)
   ---------------------------------------- 0.0/2.2 MB ? eta -:--:--
   ---------- ----------------------------- 0.6/2.2 MB 17.8 MB/s eta 0:00:01
   ---------------------- ----------------- 1.2/2.2 MB 15.9 MB/s eta 0:00:01
   --------------------------------- ------ 1.8/2.2 MB 14.7 MB/s eta 0:00:01
   ---------------------------------------- 2.2/2.2 MB 13.9 MB/s eta 0:00:00
Downloading idna-3.6-py3-none-any.whl (61 kB)
   ---------------------------------------- 0.0/61.6 kB ? eta -:--:--
   ---------------------------------------- 61.6/61.6 kB ? eta 0:00:00
Downloading kiwisolver-1.4.5-cp310-cp310-win_amd64.whl (56 kB)
   ---------------------------------------- 0.0/56.1 kB ? eta -:--:--
   ---------------------------------------- 56.1/56.1 kB ? eta 0:00:00
Downloading pyparsing-3.1.1-py3-none-any.whl (103 kB)
   ---------------------------------------- 0.0/103.1 kB ? eta -:--:--
   ---------------------------------------- 103.1/103.1 kB 5.8 MB/s eta 0:00:00
Downloading pytz-2023.3.post1-py2.py3-none-any.whl (502 kB)
   ---------------------------------------- 0.0/502.5 kB ? eta -:--:--
   --------------------------------------- 502.5/502.5 kB 15.9 MB/s eta 0:00:00
Downloading tzdata-2023.4-py2.py3-none-any.whl (346 kB)
   ---------------------------------------- 0.0/346.6 kB ? eta -:--:--
   --------------------------------------- 346.6/346.6 kB 21.0 MB/s eta 0:00:00
Downloading urllib3-2.1.0-py3-none-any.whl (104 kB)
   ---------------------------------------- 0.0/104.6 kB ? eta -:--:--
   ---------------------------------------- 104.6/104.6 kB ? eta 0:00:00
Downloading filelock-3.13.1-py3-none-any.whl (11 kB)
Downloading fsspec-2023.12.2-py3-none-any.whl (168 kB)
   ---------------------------------------- 0.0/169.0 kB ? eta -:--:--
   --------------------------------------- 169.0/169.0 kB 10.6 MB/s eta 0:00:00
Downloading Jinja2-3.1.3-py3-none-any.whl (133 kB)
   ---------------------------------------- 0.0/133.2 kB ? eta -:--:--
   ---------------------------------------- 133.2/133.2 kB ? eta 0:00:00
Downloading networkx-3.2.1-py3-none-any.whl (1.6 MB)
   ---------------------------------------- 0.0/1.6 MB ? eta -:--:--
   ------------ --------------------------- 0.5/1.6 MB 11.1 MB/s eta 0:00:01
   ------------- -------------------------- 0.6/1.6 MB 5.9 MB/s eta 0:00:01
   --------------------------- ------------ 1.1/1.6 MB 8.1 MB/s eta 0:00:01
   ---------------------------------------- 1.6/1.6 MB 9.5 MB/s eta 0:00:00
Downloading MarkupSafe-2.1.4-cp310-cp310-win_amd64.whl (17 kB)
Installing collected packages: pytz, py-cpuinfo, mpmath, urllib3, tzdata, tqdm, sympy, pyyaml, pyparsing, pillow, numpy, networkx, MarkupSafe, kiwisolver, idna, fsspec, fonttools, filelock, cycler, charset-normalizer, certifi, scipy, requests, pandas, opencv-python, jinja2, contourpy, torch, matplotlib, torchvision, thop, seaborn, ultralytics
Successfully installed MarkupSafe-2.1.4 certifi-2023.11.17 charset-normalizer-3.3.2 contourpy-1.2.0 cycler-0.12.1 filelock-3.13.1 fonttools-4.47.2 fsspec-2023.12.2 idna-3.6 jinja2-3.1.3 kiwisolver-1.4.5 matplotlib-3.8.2 mpmath-1.3.0 networkx-3.2.1 numpy-1.26.3 opencv-python-4.9.0.80 pandas-2.2.0 pillow-10.2.0 py-cpuinfo-9.0.0 pyparsing-3.1.1 pytz-2023.3.post1 pyyaml-6.0.1 requests-2.31.0 scipy-1.12.0 seaborn-0.13.1 sympy-1.12 thop-0.1.1.post2209072238 torch-2.1.2 torchvision-0.16.2 tqdm-4.66.1 tzdata-2023.4 ultralytics-8.1.5 urllib3-2.1.0

依存するパッケージもインストールされるようだが、例えばpytorchはどうか?
GPU使う場合は入れ替えしたりしないといけないが。

!pip show torch
Name: torch
Version: 2.1.2
Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
Home-page: https://pytorch.org/
Author: PyTorch Team
Author-email: packages@pytorch.org
License: BSD-3
Location: c:\users\a\.conda\envs\yolov8\lib\site-packages
Requires: filelock, fsspec, jinja2, networkx, sympy, typing-extensions
Required-by: thop, torchvision, ultralytics

入ってた。

ついでに、ultralyticsパッケージ自体のバージョンも確認。
今後アップデートされても今回と同じことができるように、今のバージョンを控えておく。

!pip show ultralytics
Name: ultralytics
Version: 8.1.5
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
Home-page: 
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
Author-email: 
License: AGPL-3.0
Location: c:\users\a\.conda\envs\yolov8\lib\site-packages
Requires: matplotlib, numpy, opencv-python, pandas, pillow, psutil, py-cpuinfo, pyyaml, requests, scipy, seaborn, thop, torch, torchvision, tqdm
Required-by: 

バージョン8.1.5だった。

推論実行

今まではPythonスクリプトを実行する形だったが、yoloコマンドで実行できるよう。
まずyoloコマンドが実行できる確認。

!yolo version
8.1.5

GitHubリポジトリのサンプル通りに、オプションを付けて、サンプル画像を対象にやってみる。

GitHub - ultralytics/ultralytics at v8.1.0

!yolo detect predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
Ultralytics YOLOv8.1.5 🚀 Python-3.10.13 torch-2.1.2+cpu CPU (12th Gen Intel Core(TM) i7-12700H)
YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs

Downloading https://ultralytics.com/images/bus.jpg to 'bus.jpg'...
image 1/1 c:\work\yolo_test\yolov8\bus.jpg: 640x480 4 persons, 1 bus, 1 stop sign, 76.0ms
Speed: 3.0ms preprocess, 76.0ms inference, 1.5ms postprocess per image at shape (1, 3, 640, 480)
Results saved to [1mruns\detect\predict[0m
💡 Learn more at https://docs.ultralytics.com/modes/predict



  0%|          | 0.00/476k [00:00<?, ?B/s]
100%|██████████| 476k/476k [00:00<00:00, 12.5MB/s]

ひとまず動いて、認識もされてるよう。

試したかったのは、人物の姿勢推定。
このサンプル画像で人が映っているので、試してみる。

yoloコマンドの使用方法は、Ultralytics社のドキュメントがあり。

CLI - Ultralytics YOLOv8 Docs

Configuration - Ultralytics YOLOv8 Docs

  • yoloコマンドの1つ目の引数(Optional)で、poseを指定、これで姿勢推定のモードになるよう
  • GitHubドキュメントを見ると、姿勢推定用のpretrained modelがあるようだったので、これも指定。

!yolo pose predict model=yolov8n-pose.pt source='https://ultralytics.com/images/bus.jpg'
Downloading https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8n-pose.pt to 'yolov8n-pose.pt'...
Ultralytics YOLOv8.1.5 🚀 Python-3.10.13 torch-2.1.2+cpu CPU (12th Gen Intel Core(TM) i7-12700H)
YOLOv8n-pose summary (fused): 187 layers, 3289964 parameters, 0 gradients, 9.2 GFLOPs

Found https://ultralytics.com/images/bus.jpg locally at bus.jpg
image 1/1 c:\work\yolo_test\yolov8\bus.jpg: 640x480 4 persons, 96.1ms
Speed: 3.0ms preprocess, 96.1ms inference, 1.0ms postprocess per image at shape (1, 3, 640, 480)
Results saved to [1mruns\pose\predict[0m
💡 Learn more at https://docs.ultralytics.com/modes/predict



  0%|          | 0.00/6.51M [00:00<?, ?B/s]
 23%|██▎       | 1.50M/6.51M [00:00<00:00, 14.7MB/s]
 49%|████▉     | 3.22M/6.51M [00:00<00:00, 16.3MB/s]
 75%|███████▌  | 4.90M/6.51M [00:00<00:00, 16.7MB/s]
100%|██████████| 6.51M/6.51M [00:00<00:00, 17.1MB/s]

これでできた。

  • 検出対象は人だけになってる。
  • 姿勢推定はそれなりにできてるような。
  • 顔のパーツもある程度出てる(目、鼻、耳)
  • 腕は、手首まで
  • 足は、足首まで

モデルを変えたら変わるか?
一番重いモデルを使ってみる。

!yolo pose predict model=yolov8x-pose.pt source='https://ultralytics.com/images/bus.jpg'
Downloading https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8x-pose.pt to 'yolov8x-pose.pt'...
Ultralytics YOLOv8.1.5 🚀 Python-3.10.13 torch-2.1.2+cpu CPU (12th Gen Intel Core(TM) i7-12700H)
YOLOv8x-pose summary (fused): 287 layers, 69462204 parameters, 0 gradients, 263.2 GFLOPs

Found https://ultralytics.com/images/bus.jpg locally at bus.jpg
image 1/1 c:\work\yolo_test\yolov8\bus.jpg: 640x480 4 persons, 594.3ms
Speed: 2.9ms preprocess, 594.3ms inference, 1.0ms postprocess per image at shape (1, 3, 640, 480)
Results saved to [1mruns\pose\predict2[0m
💡 Learn more at https://docs.ultralytics.com/modes/predict



  0%|          | 0.00/133M [00:00<?, ?B/s]
  1%|          | 1.02M/133M [00:00<00:13, 10.4MB/s]
  2%|▏         | 2.41M/133M [00:00<00:11, 12.2MB/s]
  3%|▎         | 4.11M/133M [00:00<00:09, 14.7MB/s]
  4%|▍         | 5.52M/133M [00:00<00:09, 14.3MB/s]

...

 97%|█████████▋| 128M/133M [00:08<00:00, 12.4MB/s]
 98%|█████████▊| 130M/133M [00:09<00:00, 13.5MB/s]
 99%|█████████▉| 131M/133M [00:09<00:00, 14.0MB/s]
100%|██████████| 133M/133M [00:09<00:00, 15.0MB/s]

結果。

  • 推論時間はすごい伸びた(yolov8n-pose: 96.1ms -> yolov8x-pose: 594.3ms)
  • 右の人の膝の位置の推定が正確になってる
  • 左の人の腕組みの様子が正確にとらえられるようになってる

GPU使う

以前と同様に、GPU使うPyTorchをインストールする。

nokixa.hatenablog.com

先に現状の確認。

import torch
torch.__version__
'2.1.2+cpu'

やっぱりCPU使う版になってる。

GPU版をインストールする。

!pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 --upgrade --force-reinstall

結果長いのでクリックで開閉式

Looking in indexes: https://download.pytorch.org/whl/cu118
Collecting torch
  Downloading https://download.pytorch.org/whl/cu118/torch-2.1.2%2Bcu118-cp310-cp310-win_amd64.whl (2722.7 MB)
     ---------------------------------------- 0.0/2.7 GB ? eta -:--:--
     ---------------------------------------- 0.0/2.7 GB 11.5 MB/s eta 0:03:56

    ...

     ---------------------------------------  2.7/2.7 GB 14.9 MB/s eta 0:00:01
     ---------------------------------------  2.7/2.7 GB 14.9 MB/s eta 0:00:01
     ---------------------------------------  2.7/2.7 GB 14.9 MB/s eta 0:00:01
     ---------------------------------------- 2.7/2.7 GB 1.0 MB/s eta 0:00:00
Collecting torchvision
  Downloading https://download.pytorch.org/whl/cu118/torchvision-0.16.2%2Bcu118-cp310-cp310-win_amd64.whl (4.9 MB)
     ---------------------------------------- 0.0/4.9 MB ? eta -:--:--
     --- ------------------------------------ 0.4/4.9 MB 8.5 MB/s eta 0:00:01
     ------ --------------------------------- 0.7/4.9 MB 9.5 MB/s eta 0:00:01
     -------- ------------------------------- 1.1/4.9 MB 7.8 MB/s eta 0:00:01
     ------------ --------------------------- 1.5/4.9 MB 7.8 MB/s eta 0:00:01
     ---------------- ----------------------- 2.0/4.9 MB 8.6 MB/s eta 0:00:01
     ----------------------- ---------------- 2.9/4.9 MB 10.2 MB/s eta 0:00:01
     ----------------------------- ---------- 3.6/4.9 MB 10.8 MB/s eta 0:00:01
     ------------------------------------ --- 4.5/4.9 MB 12.0 MB/s eta 0:00:01
     ---------------------------------------- 4.9/4.9 MB 12.0 MB/s eta 0:00:00
Collecting torchaudio
  Downloading https://download.pytorch.org/whl/cu118/torchaudio-2.1.2%2Bcu118-cp310-cp310-win_amd64.whl (3.9 MB)
     ---------------------------------------- 0.0/3.9 MB ? eta -:--:--
     -------- ------------------------------- 0.8/3.9 MB 16.8 MB/s eta 0:00:01
     --------------- ------------------------ 1.6/3.9 MB 16.4 MB/s eta 0:00:01
     ----------------------- ---------------- 2.3/3.9 MB 16.2 MB/s eta 0:00:01
     ------------------------------- -------- 3.0/3.9 MB 16.2 MB/s eta 0:00:01
     ----------------------------------- ---- 3.5/3.9 MB 14.7 MB/s eta 0:00:01
     ------------------------------------- -- 3.6/3.9 MB 12.9 MB/s eta 0:00:01
     ---------------------------------------  3.9/3.9 MB 11.9 MB/s eta 0:00:01
     ---------------------------------------- 3.9/3.9 MB 11.4 MB/s eta 0:00:00
Collecting filelock (from torch)
  Downloading https://download.pytorch.org/whl/filelock-3.9.0-py3-none-any.whl (9.7 kB)
Collecting typing-extensions (from torch)
  Downloading https://download.pytorch.org/whl/typing_extensions-4.4.0-py3-none-any.whl (26 kB)
Collecting sympy (from torch)
  Downloading https://download.pytorch.org/whl/sympy-1.12-py3-none-any.whl (5.7 MB)
     ---------------------------------------- 0.0/5.7 MB ? eta -:--:--
     ---- ----------------------------------- 0.7/5.7 MB 15.0 MB/s eta 0:00:01
     ------- -------------------------------- 1.1/5.7 MB 12.1 MB/s eta 0:00:01
     ------------- -------------------------- 2.0/5.7 MB 13.8 MB/s eta 0:00:01
     ------------------- -------------------- 2.8/5.7 MB 15.1 MB/s eta 0:00:01
     ------------------------ --------------- 3.5/5.7 MB 15.9 MB/s eta 0:00:01
     --------------------------- ------------ 3.9/5.7 MB 14.8 MB/s eta 0:00:01
     ------------------------------ --------- 4.4/5.7 MB 14.1 MB/s eta 0:00:01
     ---------------------------------- ----- 5.0/5.7 MB 13.8 MB/s eta 0:00:01
     ---------------------------------------  5.7/5.7 MB 13.4 MB/s eta 0:00:01
     ---------------------------------------- 5.7/5.7 MB 12.7 MB/s eta 0:00:00
Collecting networkx (from torch)
  Downloading https://download.pytorch.org/whl/networkx-3.0-py3-none-any.whl (2.0 MB)
     ---------------------------------------- 0.0/2.0 MB ? eta -:--:--
     -------------- ------------------------- 0.7/2.0 MB 15.4 MB/s eta 0:00:01
     ---------------------------- ----------- 1.4/2.0 MB 15.4 MB/s eta 0:00:01
     ---------------------------------------- 2.0/2.0 MB 16.3 MB/s eta 0:00:00
Collecting jinja2 (from torch)
  Downloading https://download.pytorch.org/whl/Jinja2-3.1.2-py3-none-any.whl (133 kB)
     ---------------------------------------- 0.0/133.1 kB ? eta -:--:--
     ---------------------------------------- 133.1/133.1 kB ? eta 0:00:00
Collecting fsspec (from torch)
  Downloading https://download.pytorch.org/whl/fsspec-2023.4.0-py3-none-any.whl (153 kB)
     ---------------------------------------- 0.0/154.0 kB ? eta -:--:--
     ---------------------------------------- 154.0/154.0 kB ? eta 0:00:00
Collecting numpy (from torchvision)
  Downloading https://download.pytorch.org/whl/numpy-1.24.1-cp310-cp310-win_amd64.whl (14.8 MB)
     ---------------------------------------- 0.0/14.8 MB ? eta -:--:--
     -- ------------------------------------- 0.8/14.8 MB 24.4 MB/s eta 0:00:01
     --- ------------------------------------ 1.4/14.8 MB 14.9 MB/s eta 0:00:01
     ----- ---------------------------------- 2.2/14.8 MB 15.4 MB/s eta 0:00:01
     ------- -------------------------------- 2.9/14.8 MB 16.9 MB/s eta 0:00:01
     ---------- ----------------------------- 3.9/14.8 MB 16.8 MB/s eta 0:00:01
     ------------ --------------------------- 4.8/14.8 MB 16.9 MB/s eta 0:00:01
     -------------- ------------------------- 5.3/14.8 MB 16.2 MB/s eta 0:00:01
     ---------------- ----------------------- 6.2/14.8 MB 17.1 MB/s eta 0:00:01
     ------------------ --------------------- 6.8/14.8 MB 16.8 MB/s eta 0:00:01
     -------------------- ------------------- 7.5/14.8 MB 16.5 MB/s eta 0:00:01
     ---------------------- ----------------- 8.4/14.8 MB 16.7 MB/s eta 0:00:01
     ------------------------ --------------- 9.1/14.8 MB 16.7 MB/s eta 0:00:01
     -------------------------- ------------ 10.0/14.8 MB 16.8 MB/s eta 0:00:01
     ---------------------------- ---------- 10.6/14.8 MB 16.4 MB/s eta 0:00:01
     ----------------------------- --------- 11.4/14.8 MB 16.8 MB/s eta 0:00:01
     ------------------------------- ------- 11.9/14.8 MB 16.4 MB/s eta 0:00:01
     --------------------------------- ----- 12.6/14.8 MB 16.4 MB/s eta 0:00:01
     ---------------------------------- ---- 13.1/14.8 MB 15.6 MB/s eta 0:00:01
     ----------------------------------- --- 13.5/14.8 MB 15.2 MB/s eta 0:00:01
     ------------------------------------ -- 13.9/14.8 MB 14.6 MB/s eta 0:00:01
     ------------------------------------- - 14.3/14.8 MB 14.2 MB/s eta 0:00:01
     --------------------------------------  14.5/14.8 MB 13.4 MB/s eta 0:00:01
     --------------------------------------- 14.8/14.8 MB 12.8 MB/s eta 0:00:00
Collecting requests (from torchvision)
  Downloading https://download.pytorch.org/whl/requests-2.28.1-py3-none-any.whl (62 kB)
     ---------------------------------------- 0.0/62.8 kB ? eta -:--:--
     ---------------------------------------- 62.8/62.8 kB 3.3 MB/s eta 0:00:00
Collecting pillow!=8.3.*,>=5.3.0 (from torchvision)
  Downloading https://download.pytorch.org/whl/Pillow-9.3.0-cp310-cp310-win_amd64.whl (2.5 MB)
     ---------------------------------------- 0.0/2.5 MB ? eta -:--:--
     ------ --------------------------------- 0.4/2.5 MB 12.6 MB/s eta 0:00:01
     ---------------- ----------------------- 1.0/2.5 MB 12.9 MB/s eta 0:00:01
     --------------------- ------------------ 1.3/2.5 MB 10.6 MB/s eta 0:00:01
     ---------------------------------- ----- 2.1/2.5 MB 12.2 MB/s eta 0:00:01
     ---------------------------------------- 2.5/2.5 MB 12.1 MB/s eta 0:00:00
Collecting MarkupSafe>=2.0 (from jinja2->torch)
  Downloading https://download.pytorch.org/whl/MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl (17 kB)
Collecting charset-normalizer<3,>=2 (from requests->torchvision)
  Downloading https://download.pytorch.org/whl/charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
Collecting idna<4,>=2.5 (from requests->torchvision)
  Downloading https://download.pytorch.org/whl/idna-3.4-py3-none-any.whl (61 kB)
     ---------------------------------------- 0.0/61.5 kB ? eta -:--:--
     ---------------------------------------- 61.5/61.5 kB ? eta 0:00:00
Collecting urllib3<1.27,>=1.21.1 (from requests->torchvision)
  Downloading https://download.pytorch.org/whl/urllib3-1.26.13-py2.py3-none-any.whl (140 kB)
     ---------------------------------------- 0.0/140.6 kB ? eta -:--:--
     ---------------------------------------- 140.6/140.6 kB ? eta 0:00:00
Collecting certifi>=2017.4.17 (from requests->torchvision)
  Downloading https://download.pytorch.org/whl/certifi-2022.12.7-py3-none-any.whl (155 kB)
     ---------------------------------------- 0.0/155.3 kB ? eta -:--:--
     ---------------------------------------- 155.3/155.3 kB ? eta 0:00:00
Collecting mpmath>=0.19 (from sympy->torch)
  Downloading https://download.pytorch.org/whl/mpmath-1.3.0-py3-none-any.whl (536 kB)
     ---------------------------------------- 0.0/536.2 kB ? eta -:--:--
     ------------------------------------  522.2/536.2 kB 16.5 MB/s eta 0:00:01
     ------------------------------------- 536.2/536.2 kB 11.2 MB/s eta 0:00:00
Installing collected packages: mpmath, urllib3, typing-extensions, sympy, pillow, numpy, networkx, MarkupSafe, idna, fsspec, filelock, charset-normalizer, certifi, requests, jinja2, torch, torchvision, torchaudio
  Attempting uninstall: mpmath
    Found existing installation: mpmath 1.3.0
    Uninstalling mpmath-1.3.0:
      Successfully uninstalled mpmath-1.3.0
  Attempting uninstall: urllib3
    Found existing installation: urllib3 2.1.0
    Uninstalling urllib3-2.1.0:
      Successfully uninstalled urllib3-2.1.0
  Attempting uninstall: typing-extensions
    Found existing installation: typing_extensions 4.9.0
    Uninstalling typing_extensions-4.9.0:
      Successfully uninstalled typing_extensions-4.9.0
  Attempting uninstall: sympy
    Found existing installation: sympy 1.12
    Uninstalling sympy-1.12:
      Successfully uninstalled sympy-1.12
  Attempting uninstall: pillow
    Found existing installation: pillow 10.2.0
    Uninstalling pillow-10.2.0:
      Successfully uninstalled pillow-10.2.0
  Attempting uninstall: numpy
    Found existing installation: numpy 1.26.3
    Uninstalling numpy-1.26.3:
      Successfully uninstalled numpy-1.26.3
  Attempting uninstall: networkx
    Found existing installation: networkx 3.2.1
    Uninstalling networkx-3.2.1:
      Successfully uninstalled networkx-3.2.1
  Attempting uninstall: MarkupSafe
    Found existing installation: MarkupSafe 2.1.4
    Uninstalling MarkupSafe-2.1.4:
      Successfully uninstalled MarkupSafe-2.1.4
  Attempting uninstall: idna
    Found existing installation: idna 3.6
    Uninstalling idna-3.6:
      Successfully uninstalled idna-3.6
  Attempting uninstall: fsspec
    Found existing installation: fsspec 2023.12.2
    Uninstalling fsspec-2023.12.2:
      Successfully uninstalled fsspec-2023.12.2
  Attempting uninstall: filelock
    Found existing installation: filelock 3.13.1
    Uninstalling filelock-3.13.1:
      Successfully uninstalled filelock-3.13.1
  Attempting uninstall: charset-normalizer
    Found existing installation: charset-normalizer 3.3.2
    Uninstalling charset-normalizer-3.3.2:
      Successfully uninstalled charset-normalizer-3.3.2
  Attempting uninstall: certifi
    Found existing installation: certifi 2023.11.17
    Uninstalling certifi-2023.11.17:
      Successfully uninstalled certifi-2023.11.17
  Attempting uninstall: requests
    Found existing installation: requests 2.31.0
    Uninstalling requests-2.31.0:
      Successfully uninstalled requests-2.31.0
  Attempting uninstall: jinja2
    Found existing installation: Jinja2 3.1.3
    Uninstalling Jinja2-3.1.3:
      Successfully uninstalled Jinja2-3.1.3
  Attempting uninstall: torch
    Found existing installation: torch 2.1.2
    Uninstalling torch-2.1.2:
      Successfully uninstalled torch-2.1.2
  Attempting uninstall: torchvision
    Found existing installation: torchvision 0.16.2
    Uninstalling torchvision-0.16.2:
      Successfully uninstalled torchvision-0.16.2
Successfully installed MarkupSafe-2.1.3 certifi-2022.12.7 charset-normalizer-2.1.1 filelock-3.9.0 fsspec-2023.4.0 idna-3.4 jinja2-3.1.2 mpmath-1.3.0 networkx-3.0 numpy-1.24.1 pillow-9.3.0 requests-2.28.1 sympy-1.12 torch-2.1.2+cu118 torchaudio-2.1.2+cu118 torchvision-0.16.2+cu118 typing-extensions-4.4.0 urllib3-1.26.13


  WARNING: Failed to remove contents in a temporary directory 'C:\Users\a\.conda\envs\yolov8\Lib\site-packages\~umpy.libs'.
  You can safely remove it manually.
  WARNING: Failed to remove contents in a temporary directory 'C:\Users\a\.conda\envs\yolov8\Lib\site-packages\~umpy'.
  You can safely remove it manually.
  WARNING: Failed to remove contents in a temporary directory 'C:\Users\a\.conda\envs\yolov8\Lib\site-packages\~orch'.
  You can safely remove it manually.

前と違って、2.4GHzのWiFiに接続してしまってたので、時間が長くなってしまった。
ネットワーク環境大事。

↓ 前回

↓ 今回

pip showでの確認と、パッケージをインポートしてのバージョン確認。

!pip show torch
Name: torch
Version: 2.1.2+cu118
Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
Home-page: https://pytorch.org/
Author: PyTorch Team
Author-email: packages@pytorch.org
License: BSD-3
Location: c:\users\a\.conda\envs\yolov8\lib\site-packages
Requires: filelock, fsspec, jinja2, networkx, sympy, typing-extensions
Required-by: thop, torchaudio, torchvision, ultralytics
import torch
torch.__version__
'2.1.2+cpu'

jupyterカーネル再起動しないとダメか?

import torch
torch.__version__
'2.1.2+cu118'

できたよう。

GPU使って推論

上と同じ、一番重いモデルでの姿勢推定やってみる。

!yolo pose predict model=yolov8x-pose.pt source='https://ultralytics.com/images/bus.jpg'
Ultralytics YOLOv8.1.5 🚀 Python-3.10.13 torch-2.1.2+cu118 CUDA:0 (NVIDIA GeForce RTX 3060 Laptop GPU, 6144MiB)
YOLOv8x-pose summary (fused): 287 layers, 69462204 parameters, 0 gradients, 263.2 GFLOPs

Found https://ultralytics.com/images/bus.jpg locally at bus.jpg
image 1/1 c:\work\yolo_test\yolov8\bus.jpg: 640x480 4 persons, 110.8ms
Speed: 6.1ms preprocess, 110.8ms inference, 13.7ms postprocess per image at shape (1, 3, 640, 480)
Results saved to [1mruns\pose\predict3[0m
💡 Learn more at https://docs.ultralytics.com/modes/predict

推論時間は、594.3ms -> 110.8msとかなり速くなった。 姿勢推定の結果は、特に変わらない。当然か。

以上

YOLOで簡単に姿勢推定を動かせて、性能もそれなりに出そうということが分かった。

楽天証券でNISA口座

作ってみたのでメモ。

なぜ作ったか

会社で営業さんと話してて、新NISAの話とか出てきて、ついていけなかったが、調べてみてもあんまりピンとこず、実際にやってみたら実感して理解もできるだろうと。

ということで少なめの資金でちょっとだけやってみようかなと。
あわよくばお小遣い稼ぎになればいいな。

なぜ楽天証券にしたか

このページを参考にして選んだ。

【2024年】新NISAおすすめ口座5選【証券会社・銀行を比較】|たあんと

どのNISA口座でも、つみたて投資枠なら特に手数料はかからないので、特に問題はないかなと。

ただ、au楽天のポイントはよく使うので、楽天証券auカブコム証券がいいかなと。
あと、どっちもクレジットカード(楽天カードau Payカード)を持っていて、クレジットカード払いで1%のポイントが付くのもよく。

キャンペーンもやっていて、楽天証券だと3000ポイント、auカブコム証券だと5000ポイントがもらえる。

このキャンペーンを見ると、auカブコム証券のほうがお得だが、もう一つ、楽天証券だと日経新聞が無料で読める、という情報もあり。

日経テレコン(楽天証券版) | 投資情報 | サービス案内 | 楽天証券

長期的に見ればそっちのほうがうれしいので、楽天証券でNISA口座開いてみることにした。

やったこと

楽天証券申し込み

iPhoneから楽天証券のサイトでNISA口座開設の申し込み。
マイナンバーカードを写真撮影して、これを送って本人確認。
申し込みを受け付けた旨のメール来て、審査が通ればアカウント情報を郵送で送ってくると書かれていた。

楽天銀行申し込み

楽天銀行も一緒に申し込みすると、3000円ゲットできるとのことで、その申し込みも。
これをNISA用の銀行口座にしておこうかな。銀行口座増えるのが若干面倒な気はするが。

こちらもマイナンバーカードを撮影して送信。
口座開設までに数日かかって、開設できたらメールが来るらしい。

3000円ゲットのためには、後でマネーブリッジの設定とかも必要らしい。
忘れないようにしないと。

<要エントリー>【第31回】1000万口座達成記念キャンペーン!楽天銀行口座開設&条件達成で最大3,000円プレゼント(2312mk0501)| 楽天証券

少し待ち

口座開設の申し込みの後の待ちが発生中。
申し込みが通ったらまた手続きの続きかな。

↑ 1/9夜に実施

1/12追記(楽天証券 口座開設完了)

楽天証券からメール来て、口座開設完了して、ログインIDとパスワードを書いた書面送られるとのこと。

1/14 追記(楽天証券 書面来る、楽天銀行 初回ログイン)

書面送られたみたいだが、不在で受け取れず。

また、楽天銀行から、初回ログインのメールが来たので、手続き実施した。

1/16追記(楽天証券 初回手続き)

書面受け取って手続き。

ログインIDと初回パスワードが入ってたので、それでログイン。
すぐにパスワード変更。

再度ログインすると、色々設定しろと出る。

投資について質問されたり、インサイダー取引防止のために勤務先、役職を聞かれたり、マイナンバー登録したり。

これで開設できた。

なかなか手続き多いが、やっとスタートに立てたか?

NISA口座はまだだった。
今申し込みが多くて大変らしい。

かまぼこいたのイタコ続き

かまぼこいたのイタコとか、追加で作った。

nokixa.hatenablog.com

全員集合

かまぼこいたのイタコ x1追加、トイレットペーパーのしんのすけx2新規作成。

イタコ比較

左が前回、右が今回作成。

かまぼこ板自体の木目と、目の間隔の違いで、ちょっと顔の印象が変わってるかも。

トイレットペーパーのしんのすけ

2つ作成。

確保したトイレットペーパーの芯の一つが茶色なので、ガングロしんのすけに。

あと、画像の印刷が実物より小さいので、顔のパーツも小さめに。

でもこれはこれでいい感じかなと。


以上。

かまぼこいたのイタコ作った

お正月に買ったかまぼこの板が出たので、作ってみた。

概要

おかあさんといっしょの中のコーナー「やくめをおえてこのたび自由になりました団」の中に出てくる、かまぼこ板のキャラクター。

Xユーザーの作り方を作るさん: 「NHK Eテレ「おかあさんといっしょ」で「やくめをおえてこのたび自由になりました団(やくおえ団)」という映像を企画・制作しました。  アニメーションはうえ田みお、アートディレクションは貝塚智子という逸材の二人。共に企画から参加。(佐藤雅彦) 放送:毎週土曜日 7:45am~、5:00pm~ https://t.co/w1RxwRUA7A」 / X

他に作ってみた人。

わかる人にはわかるネタ。 おかあさんといっしょの1コーナー『やくめをおえてこのたび自由になりました団』のキャラ、かまぼこいたのイタ子を粘土で作成😂 意外と細かくて難しい!そもそも私不器用だった!←忘れて|knk |そこら辺にいる日本語教師

作り方

  • かまぼこを切り離したかまぼこ板を、かまぼこの残りをきれいに取り除いて洗って乾かす
  • 「かまぼこいたのイタコ」で画像を検索
  • 画像をA4用紙に印刷
  • イタコのパーツをはさみで切り取る
  • 切り取ったパーツにテープのりを付けて、かまぼこ板に貼り付ける

元々、自分でペンで書いたり、ひもとかの手芸用品を集めて作ろうとしていたが、実際の画をプリントして使ったら楽だろうと考え、このやり方に。

作成中

完成

かまぼこ板が短めで、ずんぐりしたイタコになったが、それなりの再現性では。

立体感が出ていい感じ。

マスコット的に写真に登場させてもいいかもしれない。

気づき、反省点等

  • テープのり意外と使える
  • A4用紙いっぱいに印刷したが、画像の解像度が低めのためパーツの輪郭がぼんやりしてて、切り取りが難しい
  • パーツが思いのほか小さく、ピンセット必要
  • 腕はのりしろを付けといたほうがよかった
  • イタコの鼻と唇は近めがいい感じ

M5Stampでcaptive portal

今回はM5Stampの続き。
まだExampleを試してみる。

Captive Portal Example

今回やってみるのは、protocol > http_server > captive_portalのところ。

説明を見ると、「すべてのDNS IP questionsをsoftAPのポイントにリダイレクトして、すべてのHTTPリクエストをcaptive portalのルートページにリダイレクトする」という感じのことが書かれている。

AndroidiOSWindowsだと、captive portal がポップアップする、と書かれている。

M5Stamp側がWi-Fiのアクセスポイントになる動作のよう。

captive portalとは

下記参考サイトによると、

HTTPクライアントがインターネットを利用する前に、ネットワーク上の特定のWEBの参照(通常は認証目的で)を強制する技術

らしい。

Captive Portalとは | OSSのデージーネット

"captive"は"捕虜"の意味で、入ってきたアクセスを全部決まったところにリダイレクトする、というところの意味合いから来てるのか。

プロジェクト作成、ビルド、実行

手順は前の記事と同様。

nokixa.hatenablog.com

SDK Configuration editorでの設定項目は、

  • SoftAP SSID
  • SoftAP Password
  • Maximal STA connections

の3つ。

実行結果

こんな感じのログが出てくる。

...
I (524) wifi:mode : softAP (68:67:25:b2:53:45)
I (524) wifi:Total power save buffer number: 16
I (524) wifi:Init max length of beacon: 752/752
I (524) wifi:Init max length of beacon: 752/752
I (534) esp_netif_lwip: DHCP server started on interface WIFI_AP_DEF with IP: 192.168.4.1
I (544) example: Set up softAP with IP: 192.168.4.1
I (544) example: wifi_init_softap finished. SSID:'esp32_ssid' password:'esp32_pwd'
I (554) example: Starting server on port: '80'
I (564) example: Registering URI handlers
I (564) example_dns_redirect_server: Socket created
I (574) example_dns_redirect_server: Socket bound, port 53
I (574) example_dns_redirect_server: Waiting for data
I (584) main_task: Returned from app_main()

Wi-FiがsoftAPモードで動作している、という表示になっている。

ここでiPhoneからWi-Fi設定を開いてみると、"esp32_ssid"というのが見える。

これに接続してみると、"ESP32 Captive Portal"という画面がすぐ出てきた。

ESP側のログも動いていた。
DNSリクエストのリダイレクトなどやっているよう。

I (203414) wifi:new:<1,0>, old:<1,1>, ap:<1,1>, sta:<255,255>, prof:1
I (203414) wifi:station: d6:7a:8a:f7:41:5c join, AID=1, bgn, 20
I (203444) example: station d6:7a:8a:f7:41:5c join, AID=1
I (203844) wifi:<ba-add>idx:2 (ifx:1, d6:7a:8a:f7:41:5c), tid:0, ssn:2, winSize:64
I (204884) esp_netif_lwip: DHCP server assigned IP to a client, IP is: 192.168.4.2
I (206644) example_dns_redirect_server: Received 36 bytes from 192.168.4.2 | DNS reply with len: 52
I (206644) example_dns_redirect_server: Waiting for data
I (206644) example_dns_redirect_server: Received 36 bytes from 192.168.4.2 | DNS reply with len: 52       
I (206654) example_dns_redirect_server: Waiting for data
I (206664) example_dns_redirect_server: Received 36 bytes from 192.168.4.2 | DNS reply with len: 52       
I (206674) example_dns_redirect_server: Waiting for data
I (206684) example_dns_redirect_server: Received 40 bytes from 192.168.4.2 | DNS reply with len: 56       
I (206694) example_dns_redirect_server: Waiting for data
I (206694) example_dns_redirect_server: Received 40 bytes from 192.168.4.2 | DNS reply with len: 56       
I (206704) example_dns_redirect_server: Waiting for data
I (206714) example_dns_redirect_server: Received 35 bytes from 192.168.4.2 | DNS reply with len: 51       
I (206724) example_dns_redirect_server: Waiting for data
I (206724) example_dns_redirect_server: Received 35 bytes from 192.168.4.2 | DNS reply with len: 51
I (206734) example_dns_redirect_server: Waiting for data
I (206744) example_dns_redirect_server: Received 36 bytes from 192.168.4.2 | DNS reply with len: 52       
I (206754) example_dns_redirect_server: Waiting for data
I (206764) example: Redirecting to root
I (207474) example: Redirecting to root
I (207484) example: Serve root
I (207504) example: Redirecting to root
I (207554) example: Redirecting to root
I (208984) example_dns_redirect_server: Received 43 bytes from 192.168.4.2 | DNS reply with len: 59
I (208984) example_dns_redirect_server: Waiting for data
I (208994) example_dns_redirect_server: Received 43 bytes from 192.168.4.2 | DNS reply with len: 59       
I (209004) example_dns_redirect_server: Waiting for data

プロジェクト中身

プロジェクトフォルダを見てみると、main.cなどのほかに、"root.html"というのが存在する。
これがcaptive portalのルートページになっているよう。

これをいじれば、好きなページを作れる。
ボタンとかのパーツを作れば、Lチカとかもできるか?

と思ってちょっと調べたが、htmlちゃんと勉強しないと難しそう。
おいおいやってみる。

とりあえず背景色だけ変えてみた。

以上

簡単なページを作って、iPhoneなどからアクセスして見てみる、というのはできそう。
どうにかhtmlを勉強してやってみたい。

はてなブログでページ内リンク

はてなブログの書き方の備忘録。
Markdown記法でやる前提。

簡単なやり方

どこからやり方調べたか忘れたが、一番簡単なやり方。

まず、普通に#で見出しを書く。
複数の#でレベルを下げた見出しにもリンクできる。

# リンク先1

## リンク先2

リンク元では、以下のように書く。
なお、Markdownだと、見出しを書くときに#の後ろに半角スペースが必要だが、ここでは不要。

※レベル下げした見出しでも#1個でオッケー

[リンク元1表示](#リンク先1)

[リンク元2表示](#リンク先2)

以下試し


リンク元1表示

リンク元2表示

リンク先1

内容だよ
前の記事の画像だよ

リンク先2

内容その2だよ


うまくいかなかったパターン

上のやり方でやったとき、見出しにスペース文字が入ってるとリンク先に飛べなかった。

[リンク元3表示](#リンク先3 ですよ)

#リンク先3 ですよ

リンク元3表示

リンク先3 ですよ

内容3だよ


HTMLのアンカーリンクで

下記参照。
この書き方なら、スペース文字ありでもいけるし、そもそも見出しの内容とリンク先の名前を別に設定できる。

【サンプルあり】Markdownでページ内リンクの書き方(はてなのMarkdown対応) - at backyard

[リンク元4表示](#リンク先4 ですよ)

[リンク元5表示](#リンク先5)


<a id="リンク先4 ですよ"> </a>
# リンク先4 ですよ

<a id="リンク先5"> </a>
# リンク先5 ですよ

リンク元4表示

リンク元5表示

リンク先4 ですよ

内容4だよ

リンク先5 ですよ

内容5だよ


HTMLの説明。

HTMLアンカーリンク(a hrefタグ)とは~使い方と別ページ(target blank)について|SEOラボ

以上

今回は小ネタでした。