一時、Jetson Nanoを使用していた時に動作がものすごく遅くなることがありました。例えば、下記のようなレベルです。

  • コンソールを起動するのに10秒程度かかる
  • コンソールの予測変換のためにTabを打った後に候補が表示されるのに10秒程度かかる

これでは、開発も何もあったものではなく、使っているだけで発狂してしまいそうになりました。

原因はSDカードだった

結論としては、容量に対して安物のSDカードを使っていたことが原因でした。参考にした記事は下記です。

コンソールを立ち上げるのに数秒かかる点が非常に私の現象によく似ていました。

大容量かつ安価のSDカードには要注意

当時、私は「AIを使うから色々なソフトウェアや学習データを入れるだろうし、大容量がいい。16GBや32GBだと不安だ」と思い、400GB 3,300円のMicro SDカードを購入し、使っていました。

しかし、これが良くなかったようで、SDカードの読み書きスピードが遅いと、全体的な動作が遅くなってしまい、使い物にならない状態となってしまいました。

上記の記事によると、1TBのMicro SD Cardもあるようなので、技術的には可能だと思われますが、価格は

  • 1TB で $449.99
  • 500GBで $199.99

ということなので、400GB 3,300円は不自然に安すぎるので、不良品の可能性が高いと考えて良いのでは無いでしょうか。(Amazonレビューでも同様の指摘がされていたのでやめておけば良かった・・!)

3,300円で400GBは欲張りすぎだったようです。

SDカードのメーカーも確認

メーカーや正規代理店の取り扱いかなども重要かと思います。SanDiskやSamsungなど、名が知れたメーカーのものを購入すると失敗が少ないのでは無いかと思われます。

私はその後もまた失敗し、最終的に下記のMicro SDカードに落ち着きました。

2回失敗したので、もう失敗はできないため「動作確認済」「国内正規保証品」等の文字に釣られた感もありますが、容量も128GBとかなり大きく、サクサク動くので現在も快適に使えています。

もし、Jetsonを使っていて動作が遅いと感じられる場合は、SDカードが原因のこともあり得るかと思いますので、一度検証してみるのをおすすめします。

その他の不具合かな?と思われる場合は

Jetson Nanoで機械学習を走らせていると、時々ブツッと電源が切れてしまうことが何度かありました。学習の途中で居眠りをしてしまうようではたまったものではありません。 特にプログラムもエラーが無かったのと、クラッシュの再現性も無かったためハードの方を疑って色々調べました。 電流が足りなかった 結論としては供給電流が足りませんでした。当時5V 2AのMicro USBを用いていましたが、これでは重い処理をさせて消費電流が大きくなった時に突然死してしまうことがある、ということがわかりました。 下記の記事を参考にしました。 Jetson Nano - Use More Power! - JetsonHacks https://www.
Jetson nano

Related Posts

rospyでImageデータを取得してOpenCVの配列として扱う
rospyでImageデータを取得してOpenCVの配列として扱う
概要 PythonでROS開発をする際、sensor_msgs/Image型のトピックを受信して色々な処理をかけたいときには、OpenCVの配列に変換した上で処理を行うと便利です。CvBridgeというsensor_msgs/Imag...
Read More
ネイティブアプリでROS通信をする際はFlutterとroslibがおすすめ
ネイティブアプリでROS通信をする際はFlutterとroslibがおすすめ
概要 ROSを起動させているロボットに対して、スマートデバイスからROSで通信を行いたい時があるときは、Flutterを用いたネイティブアプリで実装するのがおすすめです。 roslibjsを使ってJavaScriptでROSトピックの...
Read More
Arduinoでサーボモータを動かす【簡易版】
Arduinoでサーボモータを動かす【簡易版】
概要 Arduinoでサーボモータを動かす方法について解説します。複数個を同時に制御する場合はPCA9685など追加モジュールを導入してi2cで制御することもできますが、今回はシンプルに1つのサーボモータを動かすサンプルを紹介します。...
Read More