2015-11-10 30 views
22

Czy istnieje wersja TensorFlow dla 32-bitowego systemu Linux? Widzę tylko dostępne koło 64-bitowe i nie znalazłem nic na ten temat na stronie.TensorFlow na 32-bitowym systemie Linux?

+0

To pytanie tak naprawdę nie dotyczy programowania? – Bonatti

+1

@Bonatti przeczytaj http://stackoverflow.com/help/on-topic –

+0

@FranckDernoncourt Tak, i Temat 4 z "Niektóre pytania są nadal poza tematem, nawet jeśli pasują do jednej z kategorii wymienionych powyżej:' stwierdza to : 'Pytania z prośbą o zalecenie lub znalezienie książki, narzędzia, biblioteki oprogramowania, samouczka lub innych zasobów poza siedzibą są nie na temat Stack Overflow, ponieważ mają tendencję do przyciągania opinii i spamu. Zamiast tego opisz problem i to, co zostało zrobione do tej pory, aby go rozwiązać " – Bonatti

Odpowiedz

20

Przetestowaliśmy tylko dystrybucję TensorFlow na 64-bitowych systemach Linux i Mac OS X oraz dystrybuujemy pakiety binarne tylko na te platformy. Wypróbuj wersję source installation instructions, aby utworzyć wersję dla swojej platformy.

EDYCJA: Jeden użytkownik opublikował instructions for running TensorFlow on a 32-bit ARM processor, który jest obiecujący dla innych 32-bitowych architektur. Te instrukcje mogą zawierać użyteczne wskazówki do pracy z TensorFlow i Bazel w środowisku 32-bitowym.

1

Wygląda na to, że Google nie obsługuje jeszcze tensorflow na komputerach 32-bitowych.

Na komputerze 32-bitowym systemem Centos 6.5, jest następujący błąd otrzymane po "importowej tensorflow jako TF" polecenie: ImportError: tensorflow/python/_pywrap_tensorflow.so: źle klasa ELF: ELFCLASS64

Dopóki firma Google nie rozpowszechnia 32-bitowej wersji tensorflow, zalecam również budowanie tensorflow ze źródła zgodnie z określeniem here.

4

Mam wbudowaną wersję TensorFlow tylko na procesor w 32-bitowym systemie Ubuntu (16.04.1 Xubuntu). Wyglądało to o wiele bardziej gładko, niż przewidywano, w przypadku tak złożonej biblioteki, która oficjalnie nie obsługuje 32-bitowych architektur.

To może być wykonane przez następujące podzbiór przecięciu tych dwóch przewodników:

Jeśli nie mam czegoś zapomniał, tutaj są kroki, jakie zrobiono:

  1. Instalacja Oracle Java 8 JDK:

    $ sudo apt-get remove icedtea-8-plugin #This is just in case 
    $ sudo add-apt-repository ppa:webupd8team/java 
    $ sudo apt-get update 
    $ sudo apt-get install oracle-java8-installer 
    

(To wszystko potrzebujesz w nieskazitelnej instalacji Xubuntu, ale google powyższe słowa kluczowe inaczej, aby przeczytać o wyborze domyślnego środowiska JRE i javac.)

  1. zależności:

    sudo apt-get update 
    sudo apt-get install git zip unzip swig python-numpy python-dev python-pip python-wheel 
    pip install --upgrade pip 
    
  2. Obserwuje the instructions that come with Bazel, pobierz źródłowy zip Bazel (mam bazel-0.4.3-dist.zip), zrób jak ~/tf/bazel/ katalogu i rozpakuj go tam.

  3. byłem coraz OutOfMemoryError podczas następnej kompilacji, ale this fix zadbał o niego (tj dodanie -J-Xmx512m dla kompilacji bootstrap).

  4. Zadzwoń pod bash ./compile.sh i odczekaj bardzo długo (noc dla mnie, ale zobacz uwagi na końcu).

  5. $ git clone -b r0.12 https://github.com/tensorflow/tensorflow

  6. Wydaje się to jedyna zmiana w kodzie źródłowym, które było konieczne!

    $ cd tensorflow 
    $ grep -Rl "lib64"| xargs sed -i 's/lib64/lib/g' 
    
  7. Następnie $ ./configure i powiedzieć nie do wszystkiego. (Zaakceptuj ustawienia domyślne w stosownych przypadkach).

  8. Poniższa wziął sporo godzin z mojej konfiguracji:

    $ bazel build -c opt --jobs 1 --local_resources 1024,0.5,1.0 --verbose_failures //tensorflow/tools/pip_package:build_pip_package 
    $ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg 
    $ pip install --user /tmp/tensorflow_pkg/ten<Press TAB here> 
    

Aby zobaczyć, że jest zainstalowana, sprawdzić, czy to działa na TensorFlow Beginners tutorial. Używam jupyter qtconsole (tj. Nowej nazwy IPython). Uruchom kod w mnist_softmax.py. To powinno zająć trochę czasu, nawet na bardzo ograniczonych maszynach.

Z jakiegoś powodu, TensorFlow's guide to building from source nie sugeruje running the unit tests:

$ bazel test //tensorflow/... 

(Tak, wpisz elips.)

Choć nie mogłem ich uruchomienia - to spędził 19 godzin próbuje połączyć libtensorflow_cc.so, a następnie coś zabiło linkera. Było to z połówką rdzenia i limitem pamięci 1536 MB. Może ktoś inny z większą maszyną może raportować, jak przebiega test jednostki.

Dlaczego nie musieliśmy wykonywać innych czynności wymienionych w tych dwóch przewodach? Po pierwsze, większość tej pracy dotyczy dbania o interfejs GPU. Po drugie, zarówno Bazel, jak i TensorFlow stały się bardziej samodzielne od czasu napisania pierwszego z tych przewodników.

Należy zauważyć, że powyższe ustawienia dostarczone do firmy Bazel w celu kompilacji są bardzo konserwatywne (1024 MB pamięci RAM, połowa rdzenia, jedna praca na raz), ponieważ uruchamiam to za pomocą VirtualBox za pomocą jednego rdzenia netbooka o wartości 200 USD typu, który Intel robi dzieciom w trudnej sytuacji w Wenezueli, Pakistanie i Nigerii. (Przy okazji, jeśli to zrobisz, upewnij się, że wirtualny dysk twardy ma co najmniej 20 GB - próba zbudowania powyższych testów jednostkowych zajęła około 5 GB miejsca.) Budowa koła zajęła prawie 20 godzin, a skromność Głębokie CNN z the second tutorial, którego cytowanie zajmuje nawet pół godziny na nowoczesnych procesorach stacjonarnych, trwa około 80 godzin w ramach tej konfiguracji. Ktoś mógłby się zastanawiać, dlaczego nie mam pulpitu, ale prawda jest taka, że ​​rzeczywiste szkolenie z TensorFlow ma sens tylko w wysokiej klasy GPU (lub w jego grupie) i kiedy możemy wynająć instancję AWS z takim GPU za około 10 centów za godzinę bez zobowiązań i na praktycznej podstawie ad-hoc, nie ma większego sensu szkolenie się gdzie indziej. Przyspieszenie 480000% jest naprawdę zauważalne. Z drugiej strony, wygoda posiadania lokalnej instalacji jest warta przejścia przez proces taki jak powyżej.

+1

Użyłem powyższych kroków, aby zainstalować tensorflow w moim systemie, Ubuntu 16.04 LTS, pamięć 3,8 GB 32-bitowa, rdzeń Intel i7. To było niesamowite ... udało mi się to zrobić za 4-5 godzin. Pliki samouczka MNIST wykonane z dobrą prędkością. Wspomniane błędy pojawiły się, ale nie wchodziły w drogę. Kciuki w górę... – pritywiz