3

Odroid C2 に Tensorflow 0.8.0 をインストールしようとしています。C2 は 64 ビット ARM プロセッサを使用し、Ubuntu 16.04 で Python 2.7 および 3.5 を実行します。私の非常に貧弱な理解から、ボードが 64 ビットであると信じていない別のソフトウェアと多くの混乱があるようです。

$ uname -i
aarch64
$ cat /proc/cpuinfo
Processor       : AArch64 Processor rev 4 (aarch64)

tensorflow Web サイト ( https://www.tensorflow.org/versions/r0.8/get_started/os_setup.html ) のインストール手順に従います。

apt-get 更新、アップグレード、および依存関係のインストールを繰り返した後、Python 2.7 Linux 64 ビット バージョンの Anaconda をダウンロードします。

$ bash Anaconda2-4.0.0-Linux-x86_64.sh
WARNING:
Your operating system appears not to be 64-bit, but you are trying to
install a 64-bit version of Anaconda2.
Are sure you want to continue the installation? [yes|no]

続行すると、インストールは最終的にクラッシュします

installing: conda-env-2.4.5-py27_0 ...
Anaconda2-4.0.0-Linux-x86_64.sh: line 461: /home/odroid/anaconda2/pkgs/python-2.7.11-0/bin/python: cannot execute binary file: Exec format error
ERROR:
cannot execute native linux-64 binary, output from 'uname -a' is:
Linux top-master 3.14.29-56 #1 SMP PREEMPT Wed Apr 20 12:15:54 BRT 2016 aarch64 aarch64 aarch64 GNU/Linux

私は先に進み、pipベースのインストールを試みました。

$ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl
tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl is not a supported wheel on this platform.

(Python 2.7 の pip でも同じ問題が発生します)

「サポートされていないホイール」にもかかわらず、いくつかのファイル名変更のトリックが問題を解決するという同様の問題を見てきました。名前を変更したら、tensorflow をインストールできます。

$ sudo pip3 install tensorflow-0.8.0-cp35-none-any.whl 
Processing ./tensorflow-0.8.0-cp35-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): protobuf==3.0.0b2 in /                                      usr/local/lib/python3.5/dist-packages (from tensorflow==0.8.0)
Requirement already satisfied (use --upgrade to upgrade): six>=1.10.0 in /usr/li                                      b/python3/dist-packages (from tensorflow==0.8.0)
Requirement already satisfied (use --upgrade to upgrade): wheel>=0.26 in /usr/li                                      b/python3/dist-packages (from tensorflow==0.8.0)
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.8.2 in /usr/l                                      ib/python3/dist-packages (from tensorflow==0.8.0)
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib                                      /python3/dist-packages (from protobuf==3.0.0b2->tensorflow==0.8.0)
Installing collected packages: tensorflow
Successfully installed tensorflow-0.8.0

ただし、次の場合:

$ python3
Python 3.5.1+ (default, Mar 30 2016, 22:46:26)
[GCC 5.3.1 20160330] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow

私は得る:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/__init__.py", line 23, in <module>
from tensorflow.python import *
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/__init__.py", line 45, in <module>
from tensorflow.python import pywrap_tensorflow
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
_pywrap_tensorflow = swig_import_helper()
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
  File "/usr/lib/python3.5/imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
  File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: /usr/local/lib/python3.5/dist-packages/tensorflow/python/_pywrap_tensorflow.so: cannot open shared object file: No such file or directory

重要なのは、このファイルが非常に存在することに注意してください。

$ ls /usr/local/lib/python3.5/dist-packages/tensorflow/python
client     __init__.py   lib  platform     pywrap_tensorflow.py   summary   user_ops
framework  kernel_tests  ops  __pycache__  _pywrap_tensorflow.so  training  util

以前と同様に、Python 2.7 で同じ手順を繰り返すと、同じ問題が発生します (フォルダーがわずかに異なります)。これにさらにアプローチする方法がよくわかりません-独自のテンソルフローを構築しようとすることが次のステップだと思いますが、それが回避可能であればそれは素晴らしいことです.

4

1 に答える 1