如何为Windows 7 32位系统安装tensorflow?我将python 3.5(32位)安装到我的系统中并安装了anaconda 3.4.4(32位)

时间:2017-06-09 05:34:33

标签: python-3.x tensorflow anaconda

我只有32位系统所以我安装python 3.5(64位)错误发生。所以我成功安装了python 32bit之后我跟着那个文件(http://tensorflow.org/install/ ...)我试过这个进入命令提示符

C:\Users\mydoc>pip3 install --upgrade tensorflow

但是会发生这样的错误。

C:\Users\mydoc>pip install tensorflow

Collecting tensorflow
  Could not find a version that satisfies the requirement tensorflow (from versions: )
No matching distribution found for tensorflow

C:\Users\mydoc>

请帮我解决如何为我的Windows(32位)系统安装tensorflow。

3 个答案:

答案 0 :(得分:4)

如果使用TensorFlow不是一项硬性要求,您可以考虑更改Keras的后端。您将能够使用Theano作为后端,它支持32位窗口。在此处查找相关说明:https://keras.io/backend/
我知道这可能无法解答您的问题,但改变后端可能比更换计算机更容易。

答案 1 :(得分:2)

如何在32位linux系统中安装Tensorflow

以下是我在此github存储库中维护的步骤列表的副本:tensorflow-32-bits-linux

我使用以下步骤在旧的Asus Eee-Pc 1000H中安装了tensorflow。诚然,它已经从原来的1 GB RAM和80 GB HDD升级到2 GB RAM和480 GB SSD存储,可以毫无问题地运行Ubuntu Xenial 32位。

我还能够将其安装在32位Debian 9(拉伸)系统中,说明也相同。

选择一个方便的linux系统

我已经测试了具有2 GB RAM的Ubuntu 16.04(Xenial)和Debian 9.11(Stretch)系统。

我将系统设置为具有4 GB的SWAP空间。只有1 GB的SWAP,某些编译失败。

至关重要的是,发行版必须具有Java SDK的版本8:openjdk-8-jdk

安装Java 8 SDK和构建工具

sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo apt-get install git zip unzip autoconf automake libtool curl zlib1g-dev swig build-essential

安装Python库

接下来,我们安装tensorflow所需的python 3开发库和keras模块。

sudo apt-get install python3-dev python3-pip python3-wheel
sudo python3 -m pip install --upgrade pip
python3 -m pip install --user keras

您可以使用eithr python 3或python 2并为该版本编译tensorflow。

从源代码安装和编译Bazel

我们需要分发源代码bazel 0.19.2。我们可以获取它并将其安装在新文件夹中。

wget https://github.com/bazelbuild/bazel/releases/download/0.19.2/bazel-0.19.2-dist.zip
mkdir Bazel-0-19.2
cd Bazel-0-19.2
unzip ../bazel-0.19.2-dist.zip

在编译之前,我们需要删除./src/tools/singlejar/mapped_file_posix.inc文件的第30行( #error,此代码用于64位Unix。),如果不在64位计算机上。此bazel版本可以在32位中正常运行。

我们还需要增加Bazel可用的Java内存并开始对其进行编译。

export BAZEL_JAVAC_OPTS="-J-Xmx1g"
./compile.sh

完成后(可能需要几个小时),我们将bazel编译的可执行文件移动到当前用户路径中的某个位置

cp output/bazel /home/user/.local/bin

从源代码编译Tensorflow

创建一个文件夹并将tensorflow的1.13.2版本克隆到其中。从版本1.14开始,tensorflow使用仅在64位系统中运行的Intel MKL DNN优化库。所以1.13.2是最后一个以32位运行的版本。

mkdir Tensorflow-1.13.2
cd Tensorflow-1.13.2
git clone -b v1.13.2 --depth=1 https://github.com/tensorflow/tensorflow .

在编译之前,我们将对64位库的引用替换为32位库。

grep -Rl "lib64"| xargs sed -i 's/lib64/lib/g'

我们启动tensorflow配置。我们需要明确禁止使用32位系统上不可用或不支持的几个可选库。

export TF_NEED_CUDA=0
export TF_NEED_AWS=0
./configure

我们必须考虑以下因素: *当要求指定python的位置时。 [默认值为/ usr / bin / python]:我们应该响应 / usr / bin / python3 以使用python 3。 *当要求输入想要使用的Python库路径时。默认为[/usr/local/lib/python3.5/dist-packages],我们只需按 Enter *我们应该对所有的是/否问题回答 N 。 *当指定了bazel选项“ --config = opt”时,当要求指定要在编译期间使用的优化标志时[默认值为-march = native -Wno-sign-compare]:只需按 Enter

现在我们开始编译tensorflow来禁用aws,kafka等可选组件。

bazel build --config=noaws --config=nohdfs --config=nokafka --config=noignite --config=nonccl -c opt --verbose_failures //tensorflow/tools/pip_package:build_pip_package

如果一切顺利,现在我们将生成pip包。

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

然后我们安装了pip包

python3 -m pip install --user /tmp/tensorflow_pkg/tensorflow-1.13.2-cp35-cp35m-linux_i686.whl

测试张量流

现在,我们运行一个小测试来检查它是否有效。我们创建一个具有以下内容的test.py文件:

import tensorflow as tf

mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(512, activation=tf.nn.relu),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)

然后我们进行测试

python3 test.py

这是输出

Epoch 1/5
60000/60000 [==============================] - 87s 1ms/sample - loss: 0.2202 - acc: 0.9348
Epoch 2/5
60000/60000 [==============================] - 131s 2ms/sample - loss: 0.0963 - acc: 0.9703
Epoch 3/5
60000/60000 [==============================] - 135s 2ms/sample - loss: 0.0685 - acc: 0.9785
Epoch 4/5
60000/60000 [==============================] - 128s 2ms/sample - loss: 0.0526 - acc: 0.9828
Epoch 5/5
60000/60000 [==============================] - 128s 2ms/sample - loss: 0.0436 - acc: 0.9863
10000/10000 [==============================] - 3s 273us/sample - loss: 0.0666 - acc: 0.9800

享受新的Tensorflow !!

答案 2 :(得分:1)

This question is already answered:

  

我们只在64位Linux和Linux上测试了TensorFlow发行版   Mac OS X,仅为这些平台分发二进制包。尝试   在source installation instructions之后构建一个版本   为您的平台。

  编辑:一位用户发布了instructions for running TensorFlow on a 32-bit ARM processor,这对其他32位有用   架构。这些说明可能有用于获取的有用指针   TensorFlow和Bazel可在32位环境中工作。