Ich möchte Tensorflow in Tizen verwenden.

Die Architektur von Tizen Studio ist x86.
Der Tensorflow ist jedoch nur 64-Bit. Wie kann ich Tensorflow in Tizen Studio verwenden?

0
이해원 20 Jän. 2019 im 16:08

3 Antworten

Beste Antwort

Laden Sie Pakete für das Zielgerät herunter

  • Tensorflow
  • Python
  • db4
mkdir tmp
cd tmp

BASE_URL='http://download.tizen.org/snapshots/tizen/5.0-base/latest/repos/standard/packages/armv7l/'
wget -O - $BASE_URL 2>/dev/null | egrep 'db4-[0-9]' | awk -F'"' '{print $2}' | xargs -i wget $BASE_URL{}
wget -O - $BASE_URL 2>/dev/null | egrep 'python-[0-9]' | awk -F'"' '{print $2}' | xargs -i wget $BASE_URL{}

UNIFIED_URL='http://download.tizen.org/snapshots/tizen/5.0-unified/latest/repos/standard/packages/armv7l/'
wget -O - $UNIFIED_URL 2>/dev/null | grep 'tensorflow-v' | awk -F'"' '{print $2}' | xargs -i wget $UNIFIED_URL{}

Installieren Sie Pakete auf dem Zielgerät

sdb root on; sdb shell 'mount -o remount,rw /'
sdb push *.rpm /tmp

sdb shell 'cd /tmp; rpm -ivh --force db4*.rpm; rpm -ivh --force *python*.rpm; rpm -ivh --force tensorflow*.rpm'

cd ..
rm -r tmp

Laden Sie die zum Erstellen benötigten Pakete herunter

  • Tensorflow
  • Tensorflow-Entwicklung
  • libpython-2.7
  • libgfortran
  • libgomp
mkdir tmp
cd tmp

BASE_URL='http://download.tizen.org/snapshots/tizen/5.0-base/latest/repos/standard/packages/armv7l/'
wget -O - $BASE_URL 2>/dev/null | grep 'libpython-2.7' | awk -F'"' '{print $2}' | xargs -i wget $BASE_URL{}
wget -O - $BASE_URL 2>/dev/null | grep 'libgfortran-' | awk -F'"' '{print $2}' | xargs -i wget $BASE_URL{}
wget -O - $BASE_URL 2>/dev/null | grep 'libgomp-' | awk -F'"' '{print $2}' | xargs -i wget $BASE_URL{}

UNIFIED_URL='http://download.tizen.org/snapshots/tizen/5.0-unified/latest/repos/standard/packages/armv7l/'
wget -O - $UNIFIED_URL 2>/dev/null | grep 'tensorflow' | grep -v 'lite' | awk -F'"' '{print $2}' | xargs -i wget $UNIFIED_URL{}

Extrahieren Sie Header- und damit Dateien und importieren Sie sie selektiv in den Projektbibliotheksordner

ls *.rpm | xargs -i bash -c "rpm2cpio {} | cpio -idmv"

cd usr/lib/
ln -s libpython2.7.so.1.0 libpython2.7.so
ln -s libgfortran.so.3 libgfortran.so

cp libgfortran.so* libgomp.so.1* libpython2.7.so* libpywrap_tensorflow_internal.so ../../../lib/

cd ../include
cp -r tensorflow ../../../inc/

cd ../../..
rm -r tmp

Richten Sie den Include-Pfad im Tizen Studio-Projekt ein

Bildschirmfoto

Richten Sie den Bibliothekspfad ein und fügen Sie dem Tizen Studio-Projekt Bibliotheken hinzu

Bildschirmfoto

Beachten Sie, dass Sie, wenn Sie das Projekt für den Emulator erstellen möchten, Bibliotheksdateien für die x86-Architektur verwenden müssen, sodass Sie "armv7l" in allen oben genannten URLs durch "i686" ersetzen müssen.

2
David 11 Feb. 2019 im 02:11

Tizen Studio ist nur ein Entwicklungswerkzeug.
Tizen unterstützt x86-64 (AMD64) und Sie können den Tensorflow auf Tizen verwenden.

Wenn Sie Tizen mit Tensorflow verwenden möchten, müssen Sie einige Pakete (tensorflow, python, ...) selbst installieren.

0
msalt.net 29 Jän. 2019 im 06:57

Wenn Sie es sich leisten können, Tensorflow-Lite zu verwenden, können Sie es direkt in Tizen-latest verwenden. In Kürze wird es mit Tizen 5.5 M2 APIs für maschinelles Lernen geben, mit denen App-Entwickler .tflite-Modelle sowie ihre eigenen nativen Modelle (als .so-Dateien oder als Funktionen) direkt einbinden können, ohne sich um den Import externer Bibliotheken kümmern zu müssen.

Wenn Sie dies jetzt tun möchten, verwenden Sie das neueste Tizen (Tizen: Unified-Projekt in build.tizen.org), verwenden Sie das Paket tensorflow-lite-dev.rpm direkt oder das Paket nnstreamer-capi, das Ihnen einige bietet benutzerfreundliche Schnittstellen. Beachten Sie, dass nnstreamer (https://github.com/nnsuite/nnstreamer) der Hauptteil sein wird Engine für Tizen-Machine-Learning (Backend seiner Machine Learning API-Sets). Obwohl nnstreamer mit Tensorflow (nicht lite), Caffe2, PyTorch, ROS usw. kompatibel ist, sind sie standardmäßig nicht in Tizen enthalten.

0
MZX 15 Aug. 2019 im 08:08