Ubuntu18.04安装hls4ml+tensorflow-gpu

Ubuntu18.04安装hls4ml+tensorflow-gpu

主要分为两部分,一部分是安装hls4ml

另一个是安装gpu 版本的tensorflow,比较难安装的是tf

1.

https://github.com/fastmachinelearning/hls4ml-tutorial

git clone https://github.com/fastmachinelearning/hls4ml-tutorial.git

2.修改environment.yml文件

  1. 把tensorflow==2.3.1改为2.4.0

不然报错”AttributeError: module ‘tensorflow.keras.layers’ has no attribute ‘MultiHeadAttention’

根据https://github.com/fastmachinelearning/hls4ml/issues/514和https://github.com/fastmachinelearning/hls4ml-tutorial/pull/27

是由于TensorFlow版本的问题

  1. 把name改成环境的名字

  2. 删除在这里安装的tensorflow,因为在这里安装同时会安装cuda10的版本,一会儿自己安装

name: hls4ml-new2
channels:
  - conda-forge
dependencies:
  - python=3.7
  - jupyterhub
  - pydot
  - graphviz
  - pip
  - pip:
    - jupyter
    - hls4ml[profiling]==0.6.0
    - qkeras==0.9.0
    - scikit-learn
    - git+https://github.com/thesps/conifer.git

3.

conda env create -f environment.yml

conda activate hls4ml-new2

4.

https://blog.csdn.net/ly869915532/article/details/124627618

然后后面主要按照这个步骤安装tensorflow的gpu版本

https://medium.com/analytics-vidhya/install-tensorflow-gpu-2-4-0-with-cuda-11-0-and-cudnn-8-using-anaconda-8c6472c9653f

安装cuda

conda install cudatoolkit=11.0

5.然后安装tensorflow gpu

pip install tensorflow-gpu==2.4.0

6.

然后在https://developer.nvidia.com/rdp/cudnn-archive 下载这个,需要先登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kBWkUNyc-1656160404541)(https://raw.githubusercontent.com/liuhao-97/typora_pic/main/uPic/image-20220625150947852.png)]

复制这些文件到anaconda3/envs/hls4ml-new2/lib

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OQNtk9gq-1656160404542)(https://raw.githubusercontent.com/liuhao-97/typora_pic/main/uPic/image-20220625151027584.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NoA3jhbN-1656160404543)(https://raw.githubusercontent.com/liuhao-97/typora_pic/main/uPic/image-20220625151105919.png)]

结束

最后在hls4ml-new2环境下输入conda list | grep cuda

只能看到cuda,看不见cudnn

5.

根据https://blog.csdn.net/weixin_45587004/article/details/124408228?spm=1001.2014.3001.5502

修改环境的文件

6.

但是这时候还是用不了GPU 的tensorflow,感觉是env.yml里面TensorFlow版本的问题

https://stackoverflow.com/questions/66389006/how-do-i-install-tensorflow-2-4-on-anaconda

安装conda gpu

conda install tensorflow-gpu==2.4.1

7.

import tensorflow as tf

tf.__version__

查看tensorflow版本,这时候应该是2.4.1

tf.config.list_physical_devices('GPU')

看GPU是否能用

8.

但是不知道为啥好像更慢了?

感觉只能用cpu版本的?

7.

参考

https://medium.com/analytics-vidhya/install-tensorflow-gpu-2-4-0-with-cuda-11-0-and-cudnn-8-using-anaconda-8c6472c9653f

安装pip install tensorflow-gpu==2.4.0

然后

pip show tensorflow-gpu显示安装位置

几个问题

1. 查看cuda版本

conda list | grep cuda

总而言之就是tensorflow gpu 2.4.0下,默认会安装Cuda 10.2 and cuDnn 7

需要改成正确的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cg81MGvY-1656160404543)(https://raw.githubusercontent.com/liuhao-97/typora_pic/main/uPic/image-20220625135202837.png)]

2. 报错 Not creating XLA devices, tf_xla_enable_xla_devices not set

代码里加入

os.environ['TF_XLA_FLAGS'] = '--tf_xla_enable_xla_devices'

3. Tensorflow gpu显存占满

代码里加

# https://blog.csdn.net/weixin_45092662/article/details/117109615
os.environ['CUDA_VISIBLE_DEVICES']="0" 
config=tf.compat.v1.ConfigProto() 
# config.gpu_options.per_process_gpu_memory_fraction=0.8
config.gpu_options.allow_growth = True  
sess=tf.compat.v1.Session(config=config)

4. jupyter搜不到内核

https://blog.csdn.net/wxyczhyza/article/details/120821510

如果在anaconda启动jupyter notebook找不到anaconda的虚拟环境内核,可以尝试以下步骤:

1、在dos窗口输入以下命令激活环境:anaconda activate 【py环境名,比如py37】

2、在虚拟环境py37下安装jupyter notebook,命令:pip install jupyter notebook

3、安装ipykernel,命令:conda install ipykernel

4、将虚拟环境注入jupyter notebook,命令:

python -m ipykernel install --user --name 【环境名称】 --display-name 【在jupyter中显示名字】

如:python -m ipykernel install --user --name py37 --display-name py37(可以和环境名一样,也可以不一样。)

5、运行jupyter notebook,命令:jupyter notebook

你可能感兴趣的:(机器学习,python,FPGA,python,深度学习,tensorflow)