繁体   English   中英

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

[英]how to install tensorflow for windows 7 32bit system?i installed python 3.5(32 bit) into my system and also installed anaconda 3.4.4(32 bit)

我只有 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。

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

如何在 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 位。

我也已经能够在 Debian 9 (stretch) 32 位系统中安装它,并且说明是相同的。

选择一个方便的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 库

接下来,我们安装 python 3 开发库和 tensorflow 所需的 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 This code for 64 bit 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 使用 Intel MKL DNN 优化库,它仅适用于 64 位系统。 所以 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]我们只需要敲击回车*我们应该响应N到所有Y / 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 !!

这个问题已经回答了:

我们只在 64 位 Linux 和 Mac OS X 上测试了 TensorFlow 发行版,并且只为这些平台发行了二进制包。 尝试按照源安装说明为您的平台构建一个版本。

编辑:一位用户发布了在 32 位 ARM 处理器上运行 TensorFlow 的说明,这对其他 32 位架构很有希望。 这些说明可能具有让 TensorFlow 和 Bazel 在 32 位环境中工作的有用指针。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM