安装TensorFlow-gpu2.1.0(stable)超简单的配置!!!

按照TensorFlow-gpu2.1.0(stable)

  • 1.创建虚拟环境
  • 2.安装
  • 3.测试
  • 4.应用

1.创建虚拟环境

方法一:
conda create -n tf_2g python=3.7(速度可能有点慢,需要多试几次),选择yes
进入该环境:conda activate tf_2g
方法二:
使用virtualenv创建新的虚拟环境。
优点:在pycharm中创建环境,可以继承全局的安装包。这样,安装模块的时候,就不用总是切换到该环境下,再安装一遍。而且,可以随意使用conda或pip安装的包,不用担心在该环境中,提示找不到包。
缺点:需要手动下载cuda和cudnn,配置环境,太麻烦了。这里只是示意在pycharm中如何添加。
首先,在该目录下新建tf_2g文件夹。例如,我的目录是E:\soft\miniconda3\envs
然后,在pycharm中添加python解释器,创建新的环境。记得勾选“inherit global packages”:
安装TensorFlow-gpu2.1.0(stable)超简单的配置!!!_第1张图片
安装TensorFlow-gpu2.1.0(stable)超简单的配置!!!_第2张图片
虽然这里没有显示任何安装包,但是,我们在命令行测试:
安装TensorFlow-gpu2.1.0(stable)超简单的配置!!!_第3张图片
可以导入pandas包(在全局中安装过,可以在E:\soft\miniconda3\Lib\site-packages中找到)。后面TensorFlow的安装和配置,参考官网:
https://tensorflow.google.cn/install/pip,以及GPU支持。

ps:这个虚拟环境虽然可以通过conda进入(因为刚好放在了它的env目录下),但是,无法在其中安装单独的包。会报错:
安装TensorFlow-gpu2.1.0(stable)超简单的配置!!!_第4张图片
还是,把全局的安装包手动复制到虚拟环境中吧。

退出虚拟环境:conda deactivate

2.安装

根据官网,选择cudatoolkit的版本
安装TensorFlow-gpu2.1.0(stable)超简单的配置!!!_第5张图片
安装GPU版本支持,拥有Nvidia的GPU的windows一般都有默认驱动的,只需要安装cudatoolkit 与 cudnn包就可以了,要注意一点需要安装cudatoolkit 10.1 版本,注意一点,如果系统的cudatoolkit小于10.1需要更新一下至10.1

cmd输入:conda install cudatoolkit=10.1 cudnn
(速度可能有点慢,需要多试几次),选择yes
(信息:cudnn-7.6.5-cuda10.1_0,cudatoolkit-10.1.243)

在tf_2g环境中,安装tensorflow-gpu(2.1.0)
(tf_2g) C:\Users\Sunjh>pip install tensorflow-gpu==2.1.0
(顺便安装了许多依赖包)

在pycharm中,添加该环境下的python解释器:
安装TensorFlow-gpu2.1.0(stable)超简单的配置!!!_第6张图片

3.测试

新建demo.txt,写入:

kimport tensorflow as tf
version = tf.__version__
gpu_ok = tf.test.is_gpu_available()
print("tf version:",version,"\nuse GPU",gpu_ok)

保存,重命名为“demo.py”
进入该目录下:

cd C:\Users\Sunjh\Desktop
python demo.py

输出结果:
安装TensorFlow-gpu2.1.0(stable)超简单的配置!!!_第7张图片

4.应用

线性拟合代码,main.py

import tensorflow as tf
 
X = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
y = tf.constant([[10.0], [20.0]])
 
 
class Linear(tf.keras.Model):
    def __init__(self):
        super().__init__()
        self.dense = tf.keras.layers.Dense(
            units=1,
            activation=None,
            kernel_initializer=tf.zeros_initializer(),
            bias_initializer=tf.zeros_initializer()
        )
 
    def call(self, input):
        output = self.dense(input)
        return output
 

 
# 以下代码结构与前节类似
model = Linear()
optimizer = tf.keras.optimizers.SGD(learning_rate=0.01)
for i in range(100):
    with tf.GradientTape() as tape:
        y_pred = model(X)      # 调用模型 y_pred = model(X) 而不是显式写出 y_pred = a * X + b
        loss = tf.reduce_mean(tf.square(y_pred - y))
    
    grads = tape.gradient(loss, model.variables)    # 使用 model.variables 这一属性直接获得模型中的所有变量
    optimizer.apply_gradients(grads_and_vars=zip(grads, model.variables))
    if i % 10 == 0:
        print(i, loss.numpy())
print(model.variables)

如果报错:
SyntaxError: Non-UTF-8 code starting with ‘\xd2’ in file main.py on line 22, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
解决:删去其中的中文注释

最后输出:
安装TensorFlow-gpu2.1.0(stable)超简单的配置!!!_第8张图片

你可能感兴趣的:(自然语言处理)