• 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    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
    
    • 1

    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
    
    • 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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    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

  • 相关阅读:
    Android Studio详细的安装下载教程
    MySQL-索引优化/查询优化
    【稳定性】浅谈11.11大促之预案演练 | 京东物流技术团队
    【外部服务对接】对接Firebase支持谷歌、Facebook、苹果等第三方平台用户注册登录
    信息学奥赛一本通(c++):1001:Hello,World
    Linux--socket编程--服务端代码
    postgresql-常用日期函数
    今日睡眠质量记录90分
    Linux 系统死机后挽救措施
    【Linux】基础IO的理解与操作 - fd
  • 原文地址:https://blog.csdn.net/weixin_45587004/article/details/125463808