tensorflow2.0 -- 介绍及环境配置

news2024/12/23 6:14:29

文章目录

  • 机器学习的框架
  • tensorflow 2.0
  • 环境配置

机器学习的框架

scikit-learn, 传统的机器学习框架,不支持深度学习和GPU加速计算;
caffe, 深度学习框架,发展到pytorch
keras, 深度学习的包裹器
tensorflow,google开源的深度学习框架,tensorflow1.0调试困难、API混乱 -->2.0
MXNet, 深度学习框架

 

tensorflow 2.0

中文官网
优点如下:

  • GPU 加速;
    • 相对于CPU来说,可以优化计算速度约100倍;
    • tf.random.normal([10000, 1000]) 生成两个较大的矩阵(10000*1000);
    • tf.matmul(matrix_a, matrix_b) 计算矩阵的相乘;
    • 使用timeit 测试基于CPU和基于GPU运行的时间;

import tensorflow as tf
import timeit


# cpu
with tf.device("/cpu:0"):
    c_a = tf.random.normal([10000, 1000])
    c_b = tf.random.normal([1000, 2000])
    print(c_a.device, c_b.device)


# gpu
with tf.device("/gpu:0"):
    g_a = tf.random.normal([10000, 1000])
    g_b = tf.random.normal([1000, 2000])
    print(g_a.device, g_b.device)


def cpu_run():
    with tf.device("/cpu:0"):
        result = tf.matmul(c_a, c_b)
    return result


def gpu_run():
    with tf.device("/gpu:0"):
        result = tf.matmul(g_a, g_b)
    return result


if __name__ == '__main__':
    # 热身
    c_t = timeit.timeit(cpu_run, number=20)
    g_t = timeit.timeit(gpu_run, number=20)
    print(c_t, g_t)

    c_t = timeit.timeit(cpu_run, number=20)
    g_t = timeit.timeit(gpu_run, number=20)
    print(c_t, g_t)

  • 自动求导
    • with tf.GradientTape() as tape:
  • 神经网络api
    • tf.matmul, 矩阵相乘;
    • tf.layers.Dense 全连接层;
    • tf.layers.Conv2D 卷积层;
    • tf.layers.SimpleRNN 简单的循环神经网络;
    • tf.layers.LSTM 长短期记忆网络;
    • tf.layers.MaxPool2D 最大池化层;
    • tf.layers.ReLU 线程修正单元;
    • tf.nn.relu/sigmoid/softmax 激活函数;

 

环境配置

  • windows10 系统安装
    • Anaconda软件安装(python3.7+)

    • 必须有显卡,查看显卡信息

      • win+r, 输出dxdiag;
      • 信息弹窗,点击显卡;
        在这里插入图片描述
        要求NVIDIA显卡,GTX 1060 6GB 或者GTX1080Ti 11GB(性能 > 1650Ti > 1650);
         
    • CUDA10.0 安装(gpu计算加速库)

      • 下载地址

      • 快速连接
        在这里插入图片描述

      • 双击+自定义安装+取消GeForce选项+ CUDA选项(取消Visual Studio整合项)+ Driver组件(Display Driver版本需大于当前版本,否则取消)
        在这里插入图片描述
        在这里插入图片描述

      • 安装完成后确认两个文件

        • nvcc.exe在这里插入图片描述

        • v10/extra/CUPTI/libx64/cupti64_100.dll
          在这里插入图片描述

    • cudnn安装, 神经网络加速库

      • 下载地址
      • cudnn历史版本,选择for CUDA10
        注册账号,下载并解压,重命名为cudnn,放到上一步的v10目录下
        在这里插入图片描述
    • 环境变量配置
      在这里插入图片描述

    • 命令行输入nvcc -V测试
      在这里插入图片描述

    • 安装tensorflow

# cpu版本
pip install tensorflow # tensorflow-gpu  gpu版本

# pip install tensorflow==version

# 进入ipython
import tensorflow as tf

a = tf.constant(1) # 常量 张量
b = tf.constant(2) # 
c = tf.add(a, b)

print(int(c), c.numpy())

# 测试gpu是否可用
tf.test.is_gpu_available()
tf.config.list_physical_devices("GPU")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1697484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux部署】【pig前端部署】Linux安装- docker/docker-compose/nginx (使用docker优雅部署nginx)

🌸🌸 Linux安装- docker/docker-compose/nginx 优雅部署 🌸🌸 一、一键安装jdk yum install -y java-1.8.0-openjdk.x86_64验证 二、安装docker yum list docker-ce --showduplicates | sort -rsudo yum install -y yum-utils …

RocketMq局部顺序消息

package com.ldj.rocketmq.producer;import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.common.message.Message;import java.nio.charset.StandardCharsets;/*** User: ldj* Date: 2024/5/26* Time: 15:09* Description: 局部顺序消…

深度神经网络——什么是生成式人工智能?

1.引言 生成式人工智能最近引起了很大的关注。 该术语用于指依赖无监督或半监督学习算法来创建新的数字图像、视频、音频和文本的任何类型的人工智能系统。 麻省理工学院表示,生成式人工智能是过去十年人工智能领域最有前途的进展之一。 通过生成式人工智能&#…

队列(C语言)

文章目录 [TOC](文章目录) 前言1.队列的概念及结构2.队列的实现3.相关操作的具体实现3.1.初始化队列(QueueInit)和销毁队列(QueueDestory)3.2.队尾入队(QueuePush)和队头出队(QueuePop)3.3.判空(QueueEmpty)、获得队尾元素(QueueBack)以及获得队头元素(QueueFront) 前言 前面我…

打卡信奥刷题(20)用Scratch图形化工具信奥B3756 [信息与未来 2021] 幸运数字

本题的基础是进制转换,关于2进制转换可以参考打卡信奥刷题(19)用Scratch图形化工具信奥B3972 [语言月赛 202405] 二进制 题解 知道了2进制,来实现5进制、7进制、9进制是一样的。 [信息与未来 2021] 幸运数字 题目描述 如果⼀个…

内存的基本知识与连续分配管理

目录 一. 内存的基础知识1.1. 什么是内存1.2 指令的工作原理1.2.1 装入的三种方式 - 绝对装入1.2.2 可重定位装入1.2.3 动态重定位装入1.3 从写程序到程序运行 二. 基本内存管理的概念三. 覆盖与交换3.1 覆盖技术3.2 交换技术 四. 连续分配管理方式4.1 单一连续分配4.2 固定分区…

【全开源】赛事报名系统源码(Fastadmin+ThinkPHP和Uniapp)

基于FastadminThinkPHP和Uniapp开发的赛事报名系统,包含个人报名和团队报名、成绩查询、成绩证书等。 构建高效便捷的赛事参与平台 一、引言:赛事报名系统的重要性 在举办各类赛事时,一个高效便捷的报名系统对于组织者和参与者来说都至关重…

前后端部署笔记

windows版: 如果傻呗公司让用win电脑部署,类似于我们使用笔记本做局域网服务器,社内使用。 1.安装win版的nginx、mysql、node、jdk等 2.nginx开机自启参考Nginx配置及开机自启动(Windows环境)_nginx开机自启动 wind…

mapboxGL中山体背景+边界阴影的一种实现方案

概述 很多地图可视化的项目中有要求实现如下的效果,本文借助QGIS、PS和turf.js,在mapboxGL中实现山体背景+边界阴影的效果。 实现效果 实现 1. 需要数据 要实现这样的效果,我们需要如下数据: 山体背景图地级市数据…

[卷积神经网络]RepConv和重参数化

RepConv是Yolov7,YoloV9中一个重要的结构,其主要用于在保持精度不退化的情况下提升推理速度。RepConv在学习阶段和推理阶段拥有不同的结构,这使得其推理阶段的复杂度大大降低。这项技术的核心在于重参数化。 一、重参数化 重参数化的主要思想是将卷积(C…

2024年弘连网络FIC大会竞赛题线下决赛题

总结: FIC决赛的时候,很多小问题没发现,在pve平台做题确实很方便。 这套题目复盘完,服务器这块的知识确实收获了很多,对pve集群平台和网络拓扑也有了一定的认识,感谢各位大佬悉心指导。 接下来&#xff0…

工具使用-网络性能测试工具(iperf)-TCP 和 UDP 的吞吐量-包转发率参数的理解

时间戳:2024年5月26日15:18:39 iperf 和 netperf 都是最常用的网络性能测试工具,测试 TCP 和 UDP 的吞吐量。它们都以客户端和服务器通信的方式,测试一段时间内的平均吞吐量。 接下来,我们就以 iperf 为例,看一下 TC…

C语言PTA练习题:三角形类别,输入三角形三条边,求面积,四则计算器,猴子吃桃

7-1 三角形类别 输入三个整数,以这三个数为边长,判断是否构成三角形;若不能输出"no",若构成三角形,进一步判断它们构的是:锐角三角形或直角三角形或钝角三角形.分别输出"ruijiao",&qu…

Spring MVC+mybatis项目入门:旅游网(四)用户注册——mybatis的配置与使用以及Spring MVC重定向

个人博客:Spring MVCmybatis项目入门:旅游网(四)用户注册2-持久化 | iwtss blog 先看这个! 这是18年的文章,回收站里恢复的,现阶段看基本是没有参考意义的,技术老旧脱离时代(2024年…

qt-C++笔记之QThread使用

qt-C笔记之QThread使用 ——2024-05-26 下午 code review! 参考博文: qt-C笔记之使用QtConcurrent异步地执行槽函数中的内容,使其不阻塞主界面 qt-C笔记之QThread使用 文章目录 qt-C笔记之QThread使用一:Qt中几种多线程方法1.1. 使用 QThread 和 Lambda…

【二叉树】LeetCode.144:二叉树的前序遍历(小细节把握)

🎁个人主页:我们的五年 🔍系列专栏:初阶初阶结构刷题 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 1.题目描述:​编辑 2.问题分析: 🍔函数解读: …

功率电感的设计步骤

文章目录 1:高导磁气隙(铁氧体)1.1设计原理1.2 设计步骤 2 铁粉芯2.1:设计原理2.2:设计步骤 TI电感设计 学习视频原链接 截图 1 截图1 截图1 截图 2 截图2 截图2 1:高导磁气隙(铁氧体&#…

solidworks画螺栓学习笔记

螺栓 单位mm 六边形 直径16mm 水平约束 拉伸 选择厚度6mm 拉伸切除 画相切圆 切除厚度6mm,反向切除 ,拔模角度45 螺栓 直径9mm,长度30mm 倒角 直径1mm,角度45 异形孔向导 螺纹线 偏移打勾,距离为2mm&#…

【C语言】八进制、十六进制

前言 在我们日常生活中使用的数往往是十进制的,而当我们学习C语言后我们会接触到许多不同的进制并且时常需要去思考与使用这些不同的进制(尤其是2的幂相关的进制,因为这种计数系统比十进制更接近于计算机的二进制系统)&#xff0…

牛客网刷题 | BC100 直角三角形图案

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 KiKi学习了循环&am…