I am Charmie

メモとログ

plotly.express.imshow on Google Colaboratoryの落とし穴

はまったのでメモ

plotly.express.imshowにカラー画像(3次元配列)を与えると以下のようなエラーを表示した.

/usr/local/lib/python3.7/dist-packages/PIL/Image.py in save(self, fp, format, **params)
   2121         expand=0,
   2122         center=None,
-> 2123         translate=None,
   2124         fillcolor=None,
   2125     ):

KeyError: 'PNG'

2次元配列を与えたらちゃんと表示された. 根本的な解決策は謎なので,カラー画像を表示したいときにどうすればいいかわからない.

import numpy as np
import plotly.express as px


image = np.random.rand(120, 160, 3)
# fig = px.imshow(image)  # KeyError: 'PNG'のエラーメッセージが出ちゃう
fig = px.imshow(image[..., 0])
fig.show()

VS CodeでTeX

LaTeX WorkshopというExtension(拡張機能)をインストールすればOK

手順

  1. LaTeX Workshopのインストール
  2. LaTeX Workshopの設定
  3. 使う

手順1. LaTeX Workshopのインストール

  1. 拡張機能画面を開く
  2. LaTeX Workshopを検索
  3. LaTeX Workshopをインストール
  4. VS Codeを再起動

手順2. LaTeX Workshopの設定

  • 設定ファイルにLaTeXコンパイル関係の設定を追記
  • 設定ファイルの場所
    • Ubuntu: ~/.config/Code/User/settings.json
    • Mac: $HOME/Library/Application Support/Code/User/settings.json
  • 以下はLuaLaTeXをコンパイラーとして使うときの設定
    "latex-workshop.latex.autoClean.run": "onBuilt",
    "latex-workshop.view.pdf.viewer": "tab",
    "latex-workshop.latex.recipes": [
        {
            "name": "batch compile",
            "tools": [
                "lualatex",
                "biber",
                "lualatex",
                "lualatex"
            ]
        },
    ],
    "latex-workshop.latex.tools": [
        {
            "name": "lualatex",
            "command": "lualatex",
                "args": [
                        "--cmdx",
                        "-file-line-error",
                        "-synctex=1",
                        "-interaction=nonstopmode", 
                        "-halt-on-error",
                        "%DOC%",
            ],
        },
        {
            "name": "biber",
            "command": "biber",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],

手順3. 使う

  1. コマンドパレットから LaTeX Workshop: Build with recipe を選択

networkx と bokehの組み合わせ

こんなエラーが発生して詰んだ.

  • 以下のコマンドでscipyを1.8.1にアップグレードしようとしたら何故か1.5.3がインストールされた.
  • scipyをアンインストールしたら,goiogle_authとか関係のファイルが見つからないみたいなエラーが出てきて修復方法が分からなかった
  • 結局Anacondaのクリーンインストール (まじで悲しい)
conda install -c conda-forge scipy

どうしよう... networkxを2.6.3にダウングレードするか,pipでscipyのバージョンを上げるか...pipでアップグレード試してからダウングレードかな

OpenMMLab: mim

configのダウンロード・管理はmimを使うと便利なようなんだけど,てこずったのでメモ

インストール

pip でインストールして mim コマンドを呼ぶと何故か必要なパッケージが存在しないとエラーを吐くので,おとなしくソースからビルド.

git clone https://github.com/open-mmlab/mim.git
cd mim
pip install -e .

各パッケージのインストール

  • mmdetection のバージョンに2.24.0を指定するところがポイント.
  • mmdetection の最新版(2.25.0)はバグを含んでおり,mim コマンドでconfig,パラメータのダウンロードに失敗する (参照)
  • mmtrack のインストールでmmcv-fullか何かのインストールに時間がかかりクラッシュするっぽい
mim install mmcv-full
mim install mmcls
mim install mmdet==2.24.0
mim install mmtrack

mimベースの実行

APIを読むと,pythonプログラムから以下を実行できることがわかる. 学習・テストなどやることが確定したら,mimから全部呼べばいいのかな.

  1. config, 重みのダウンロード
  2. 学習
  3. テスト

configについて

ここを呼んで勉強しないといけない. 学習・テストデータを含めた全ての設定をconfigでやるっぽい.