月: 2022年11月

  • Ankerのモバイルバッテリーが便利すぎる[最近買ってよかったもの]

    最近位置情報を使うアプリが増えたり、SNSを使う頻度が増え、スマホのバッテリーの容量が増えても実際のバッテリーの持ちは1日持たないということがよくあります。

    しかし、スマホ決済など、スマホのバッテリーがなくなると生活が非常に困るようになってきているのも事実であり、昔よりもモバイルバッテリーの需要が大きくなってきているのが現状です。

    MagSafeとは

    普通のモバイルバッテリーだと、スマホに繋ぐコードも必要になってくるため、持ち物が多くなり、さらにモバイルバッテリー自体が割と重さがあるので結構めんどくさいものです。

    バッテリーにコードがついているものがありますが、それだとコードが短いから、充電しながらスマホを使ったりするのにはあまり向いていません。

    最近iPhoneでMagSafeという、マグネットを使った非接触充電で、iPhone 12シリーズから導入されました。
    スマホの背面にマグネットが埋め込まれており、非接触充電の部分がマグネットでくっつくため、ズレる心配がないという点がメリットです。

    このMagSafeはiPhone12から導入されており、対応していない機種もありますが(iPhone SEなど)、非接触充電に対応していれば、MagSafeを使うことができるスマホケースが売っているので、それと使うことでMagSafeアクセサリーを使うことができます。

    磁力に関してもそこまで劣るようなものはなく、非常に強力でした。(iPhone SE3で実際に使っています。)

    Anker 622 Magnetic Batteryが最強すぎる

    このMagSafeアクセサリーで充電器やバンカーリングをつけられますが、個人的にはモバイルバッテリーが最良の選択肢だと思います。

    MagSafeのモバイルバッテリーは複数ありますが、その中でも最も素晴らしかったのがAnker 622です。

    通常のただのバッテリーのものもありますが、このモバイルバッテリーはスタンドの機能がついています。

    また、充電のオンオフはバッテリーのボタンで操作できるので、ずっとくっつけていても必要な時に充電したり、しなかったりすることができ、ただのスタンドとしても使うことができます。
    しかも、マグネットは丸型なので、スマホを横向きに使うこともできます。

    マグネットの強さも振って簡単に落ちるようなものではなく、しっかりくっつき、自分が外したい時には簡単に外せるような程よい強さでくっついてくれます。

    カラーバリエーションもたくさんあり、サイズ感、重さも使用の邪魔にならない程度で非常に素晴らしいです。

    肝心の充電速度はというと、有線で接続した時ほど早くはないですが、YouTubeを見てても充電が増えていくぐらいには十分に充電速度があります。

    さらに、バッテリーをスマホにくっつけスマホを充電したまま、バッテリーを充電することができ(パススルー)、実質iPhoneの充電端子がUSB typeCになったのと同様に充電することができます。

    デメリットはやはり重さと充電速度でしょうか。
    重さはどうしてもあり、スマホ単体よりは重くなるため、ポケットに入れた時の存在感は強くなります。
    また、充電速度は急速にはならないので、スマホの拡張バッテリーぐらいに思っておくと良いと思います。

    久々に素晴らしい商品であったので、紹介させていただきました。

  • [2022年12月更新]YOLOXのインストール方法

    [2022年12月更新]YOLOXのインストール方法

    YOLOXとは

    YOLOシリーズがたくさん出ている中、2021年7月に最新のYOLOXが出ました。

    YOLOXに関する論文はこちら (現在プレプリントです。)
    また、GitHubはこちら

    YOLOは物体認識のアルゴリズムです。
    リアルタイムに動かすことを前提としており、非常に動作が軽量であり(認識だけならスマホでも動かすことができます)、システムの応用性もあり、IoT装置にも多く取り入れられています。

    物体認識アルゴリズムと聞くと少し難しそうですが、簡単に想像できるのは、カメラの顔や目の自動フォーカスです。
    ここが顔ですよと視覚が現れると思いますが、それが他の物体でも適応され、そしてそれぞれが何なのかを分類することができます。

    YOLOはたくさんのシリーズがあり、YOLO, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOXと出てきています。
    また、動作環境もPythonだけでなく、MATLABでも使うことができるなど、自分の使っているプラットフォームに適応させることができます。

    YOLOXはYOLOv3からのシステムとは異なり、YOLO(最初に出版された方法)でのシステムとなっており、動作も早く、また正確性もかなり向上しているとのことです。

    詳しくは他のブログサイトでも書かれています。

    YOLOXのインストール方法

    GitHubのサイトにもインストール方法が記載されていますが、英語なのと、仮想環境を使った方法では書かれていないので、今回はAnacondaで仮想環境を使って行う方法です。

    WindowsとMacの両方で、YOLOXのマニュアル通りにインストールするとエラーが連発しました。
    今後もバージョンによって、エラーが変わってきたりするので、その都度調べてください。

    macのターミナルでcondaコマンドを使う方法は以下から

    WindowsではAnaconda Promptを使うと良いかと思います。

    ターミナル(Anaconda Prompt)を開き、文字が並んでいる黒いウィンドウができます。
    最終行の左に(base)となっているかと思います。
    現在、仮想環境には入っていない状態です。

    仮想環境なしでもYOLOXは動作できますが、他のパッケージとの環境が交差してしまうので、仮想環境を作ることをお勧めします。

    まず以下のコードを入力し、仮想環境を作成します。

    conda create -n YoloX python=3.8

    YoloXは仮想環境名で、これでなくても大丈夫です。
    また、pythonのバージョンはpython=3.8で指定できます。

    その後以下のコードで仮想環境に入ります。

    conda activate YoloX

    これで、左の(base)が(YoloX)になっていたら成功です。

    CUDAのインストール

    まず、機械学習のライブラリを初めてインストールする方で、YOLOの学習をGPUで行うおうとする方はCUDAをインストールしましょう。
    (CPUでの学習はありえないほど時間がかかるのでおすすめしません。ただ、Apple Silicon搭載のPCではGPUを使うことは現在できません。)
    CUDAは公式サイトからダウンロードできます。

    CUDAのバージョンは、PyTorchで対応しているCUDAのバージョンを確認してから、そのバージョンをインストールするといいと思います。
    PyTorchの公式サイト

    過去のバージョンをインストールするには、Download nowを押した後の画面で、下の方のResourcesのArchive of Previous CUDA Releasesでインストールすることができます。

    最新バージョンでもできるかもしれませんが、取り合えず、PyTorchに合わせておけば問題なく動かすことができると思います。

    インストールされているかはwindowsで、「システム環境変数の編集」を開き、詳細設定>環境変数と開き、
    CUDA_PATHからはじまるパスがあるか確認しましょう。
    Vの後の数字がバージョンを示しています。

    PyTorchのインストール

    まず、インストールする前に、pipの更新をしておきましょう。
    Anaconda Promptで仮想環境に入り、以下のコマンドを実行します。

    python -m pip install --upgrade pip

    PyTorchの公式サイトに行き、自分の環境に合ったインストール方法を選びましょう。
    しかし、ここで問題となるのが、Packageの欄で、ここではpipを選択しましょう
    condaでインストールするとその後でエラーが出てしまいます。

    Run this Commandのコマンドをコピペして、仮想環境にインストールします。

    インストールが終わったら、以下のコマンドでPyTorchがインストールされているか確認しましょう。

    pip list

    この中に、torchが入っていればOKです!!!
    一応動作確認として、pythonを起動し、以下のコマンドを実行してみましょう。

    import torch
    print(torch.cuda.is_available())

    出力でTrueと出れば問題なくインストールできており、torchをGPUで動かす準備が整ったということになります。
    (Macに導入する際やGPUがないパソコンには、Folseと出てきますが、imortが出てきたら大丈夫です)
    エラーが出たらもう一度、インストールを見直してみましょう。

    YOLOXに関わるパッケージのinnsuto-ru

    GitHubからYOLOXの諸々のファイルをダウンロード(クローン)します。
    Gitコマンドが使える人は、以下のコードでクローンできます。

    git clone git@github.com:Megvii-BaseDetection/YOLOX.git

    その後、クローンしたフォルダにアクセスし、必要なパッケージをインストールします。

    まず、クローンしたYOLOXのフォルダにある、requirements.txtの中身を以下のように書き換えます。

    # TODO: Update with exact module version
    numpy
    #torch>=1.7
    opencv_python
    loguru
    tqdm
    #torchvision
    thop
    ninja
    tabulate
    
    # verified versions
    # pycocotools corresponds to https://github.com/ppwwyyxx/cocoapi
    #pycocotools>=2.0.2
    #onnx==1.8.1
    onnxruntime==1.8.0
    onnx-simplifier==0.3.5

    どうやら、pycocotoolsなどはこのコマンドで入れることができないようです。

    これが終わったら、requirements.txtを保存して、下のコマンドをターミナル(Anaconda prompt)で実行します。

    cd YOLOX
    pip3 install -r requirements.txt
    pip3 install cython pycocotools

    ダウンロードしたYOLOXのフォルダには”requirements.txt”というファイルがあり、ここに必要なパッケージが入っているので、これを読み取り専用で開き、記載されているパッケージをインストールするコマンドが二つ目のコマンドです。

    pip3 install cython pycocotools

    このコマンドによって、cythonとpycocotoolsをインストールすることができます。
    どうやらこれらは別途インストールする必要があるようです。

    このコマンドを実行すると、以下のエラーが出る人もいるかと思います。

          building 'pycocotools._mask' extension
          error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

    Microsoft C++ Build Toolsがpycocotoolsには必要だそうです。(Mac版がないのに、Macでもエラーが出る。)
    WIndowsの人は一応インストールしておくと良いでしょう。

    これをインストールし、さらに以下のコードで再度インストールを試みてください。

    pip3 install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI"

    それでもうまくいかない場合には、以下のコマンドで入れましょう。

    conda install -c conda-forge pycocotools

    基本的には今回のパッケージ等はpipでインストールしていますが、こればっかりはインストールできないので、condaでインストールするという最終手段を使います。

    次に、yolox_x.pthをダウンロードします。
    リンクを押すとすぐにダウンロードが始まります。

    ダウンロードしたファイルをgithubからクローンしたYOLOXのフォルダに入れましょう。
    これでデモの認識に使うモデルをダウンロードし、任意の場所に置くことができます。

    tools/demo.pyの上部に下記をプログラムに追記し、yoloxフォルダへアクセスできるようにします。

    #demo.pyの中身に書き込みましょう。
    import sys
    import os
    sys.path.append(os.path.join(os.path.dirname(__file__), '..'))

    これを行わないと、yoloxのパッケージがありませんというエラーが出されます。

    その後、ターミナルで以下のコマンドを実行しましょう。
    これで、デモ動作ができているかどうかを確認することができます。

    python tools/demo.py image -n yolox-x -c yolox_x.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu 
    #gpuで動かさない場合には、gpuをcpuに書き換えてください。

    –device gpu は 状況に応じて –device cpuに書き換えてください。

    これで、YOLOX/YOLOX_outputs/yolox_x/vis_res/20……..の中に以下の画像が入っていればよいです。

    おまけ

    パソコンどれを使えばいいのかわからない方へ、パソコン購入相談をココナラでやることにしました!

    あなたの要望に合わせてパソコンを選び、提案します パソコン選びに困っている方々へ!様々な目的に対応できます!

    パソコンを選んだり、アドバイスすることが多く多くの友人からパソコンの相談やったら儲かるのにと言われました。
    それに感化されて一旦やってみようと思いました!

    パソコンの利用目的に合わせて、そしてパソコンの予算に合わせて購入をご提案します。
    特に機械学習に用いるパソコンを多く選び、使ってきています。

    そして、希望があればパソコンを今後買う時にどこに注目すると良いかもアドバイスしていきたいと思います。

    今まで選んだことあるパソコンとして、研究室の解析用パソコン、実用パソコン、ゲーム配信用パソコン、大学の新入生用のパソコン、建築学科用のCADが使えるパソコン、とりあえずのパソコンなど。

    MacとWindowsの両方使っているので、どちらのお話、ご提案もできます!

    ぜひ利用してみてください

  • MacでPythonの環境構築をVS Code(Visual Studio Code)で行う!![備忘録]

    MacでPythonの開発環境を作ろうとおもい、備忘録を残したいと思います。

    Visual Studio Code (VS Code)のインストール

    Visual Studio CodeのHPからアプリをインストール

    なんか、そのまま実行できるアプリがインストールされるので、Macのアプリケーションのフォルダにいれる。

    VS Codeの日本語化

    “Japanese Language Pack for Visual Studio Code”を入れます。

    左側のメニュー欄のExtension (拡張機能)を選び、“Japanese Language Pack for Visual Studio Code”と入力します。

    そのときに、一番上に出てきた同じ名前のパッケージをインストールします。

    その後、VS Codeを再起動し、日本語化されているかをみます。

    Pythonの拡張機能をインストール

    同様に、Pythonの拡張機能をインストールします。

    左側のメニュー欄の拡張機能を選びPythonと入力し、Pythonをインストールします。

    これによって、VS CodeでPythonのプログラムを書いたときに、jupyterを使えたり、文法を勝手に認識して色分けしれくれたり、Pythonの開発環境を作ってくれます。

    実際に動くかどうかの確認

    適当なディレクトリにtest.pyのファイルを作成します。

    新規ファイル作成で、テキストを選び、言語選択でPythonを指定します。

    その後、test.pyとし、プログラムには

    print(“Hello World!!”)

    と入力します。

    そして、右上の再生ボタンで実行します。

    すると、下のターミナルで、Hello World!!と表示されます。
    ここまでくれば、pythonの開発環境は一旦できました。

    Anacondaで仮想環境を作っている人は、右下のPythonの実行を選ぶところから、任意の環境を選択することができます。
    もしくは、ターミナルでcondaコマンドで仮想環境をアクティベートすることができます。