我只有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。
答案 0 :(得分:4)
如果使用TensorFlow不是一项硬性要求,您可以考虑更改Keras的后端。您将能够使用Theano作为后端,它支持32位窗口。在此处查找相关说明:https://keras.io/backend/
我知道这可能无法解答您的问题,但改变后端可能比更换计算机更容易。
答案 1 :(得分:2)
以下是我在此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(拉伸)系统中,说明也相同。
我已经测试了具有2 GB RAM的Ubuntu 16.04(Xenial)和Debian 9.11(Stretch)系统。
我将系统设置为具有4 GB的SWAP空间。只有1 GB的SWAP,某些编译失败。
至关重要的是,发行版必须具有Java SDK的版本8:openjdk-8-jdk
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
接下来,我们安装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 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的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位环境中工作。