

raspberry pi zeroにtensorflow liteを入れて画像分類をしたいです．ラズパイのOSはRaspian
Bullseyeで，アーキテクチャがarmv6lです．

このtensorflow/examplesの中の[リポジトリ](https://github.com/tensorflow/examples/tree/master/lite/examples/image_classification/raspberry_pi)のclassify.pyを実行できるようにしたいです．

その準備として[このページ](https://github.com/tensorflow/tensorflow/issues/38642#issuecomment-988572129)にあるtflite_runtime-2.7.0-cp39-cp39-linux_armv6l.whlをラズパイにインストールしました．

そして，`setup.sh`を実行しました．  
しかし，以下の点で詰まってしまっています．解決方法があれば教えていただきたいです．

requirements.txtにあるtflite_support>=0.3.1のarmv6lに対応するものがpipからインストールできない

[code]

    ERROR: Could not find a version that satisfies the requirement tflite-support>=0.3.1 (from versions: 0.1.0a0.dev3, 0.1.0a0.dev4, 0.1.0a0.dev5, 0.1.0a0, 0.1.0a1)
    ERROR: No matching distribution found for tflite-support>=0.3.1
    
[/code]

そのため，次のようなエラーが出てしまいます

[code]

    pi@raspberrypi:~/tf_examples/lite/examples/image_classification/raspberry_pi $ python classify.py 
    Traceback (most recent call last):
      File "/home/pi/tf_examples/lite/examples/image_classification/raspberry_pi/classify.py", line 149, in <module>
        main()
      File "/home/pi/tf_examples/lite/examples/image_classification/raspberry_pi/classify.py", line 143, in main
        run(args.model, int(args.maxResults), int(args.numThreads),
      File "/home/pi/tf_examples/lite/examples/image_classification/raspberry_pi/classify.py", line 52, in run
        classifier = ImageClassifier(model, options)
      File "/home/pi/tf_examples/lite/examples/image_classification/raspberry_pi/image_classifier.py", line 113, in __init__
        label_map_file = displayer.get_associated_file_buffer(file_name).decode()
    AttributeError: 'MetadataDisplayer' object has no attribute 'get_associated_file_buffer'
    
[/code]

このエラーが出た時の諸々のバージョンは以下の通りです

[code]

    >>> import tflite_support as tls
    >>> tls.__version__
    '0.1.0a1'
    >>> import numpy as np
    >>> np.__version__
    '1.22.2'
    >>> import tflite_runtime as tf
    >>> tf.__version__
    '2.7.0'
    >>> import cv2
    >>> cv2.__version__
    '4.5.3'
    
[/code]

(以下補足)  
また，tensorflow
liteのビルドは[こちら](https://www.tensorflow.org/lite/guide/build_cmake_pip#arm_cross_compilation)の手順で，ローカル（M1mac上）でdockerのplatformの指定をlinux/amd64に指定したのと,x86のマシン（AWSのEC2)でも行ったことがありますが，どちらも

[code]

    [ 10%] Linking CXX static library libruy_apply_multiplier.a
    
[/code]

というステップで止まってしまいます([ソースコード](https://github.com/tensorflow/tensorflow/blob/d5757d0923f95c8f9371320cfbdf5a925701fdcb/tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh#L125)の125行目を実行している最中です)．ソースコードでは，numpy~=1.19.2が指定されているみたいです．

最新版でなくても画像分類が動けばなんでもいいので，過去のものから動くバージョンを探すのが一番いいのでしょうか．膨大なコミットの中からどうやって探せばいいのかわからないですが…

同じようなことをしている方がネット上にいましたが，こんなに上手くいかないです．．．  
<https://zenn.dev/kenichiro90/articles/9ec36d57609068>  
<https://qiita.com/moritalous/items/bcc49610843968674731>  
<https://scrapbox.io/koudenpa/Raspberry_Pi_Zero%2F%E7%89%A9%E4%BD%93%E8%AA%8D%E8%AD%98>  
<https://asukiaaa.blogspot.com/2018/03/raspberry-pizeropicamera096lcd.html>


CC BY-SA 4.0
2022-02-22T08:36:19.393
86514
2022-02-22T08:36:19.393
51557
question
opencv tensorflow raspberry-pi cmake
Rapberry pi zeroにtensorflow liteをインストールし，物体認識をしたい