python常用的深度学习框架

目录

一:介绍

二:使用


Python中有几个非常受欢迎的深度学习框架,它们提供了构建和训练神经网络所需的各种工具和库。以下是一些最常用的Python深度学习框架:

一:介绍

TensorFlow:由Google开发的TensorFlow是最受欢迎的深度学习框架之一。它支持分布式训练,能够在不同硬件上高效运行,包括CPU、GPU和TPU。TensorFlow还提供了一个高级API,称为Keras,它使构建和训练神经网络变得更加简单。


PyTorch:由Facebook开发的PyTorch是另一个非常受欢迎的深度学习框架。与TensorFlow相比,PyTorch被认为更加灵活和易于使用,尤其是在研究和原型设计方面。PyTorch支持动态计算图,这意味着您可以在运行时更改神经网络的结构。


Keras:虽然Keras现在被集成在TensorFlow中作为其高级API,但它最初是一个独立的深度学习框架。Keras以其简单性和用户友好性而闻名,它使得快速实验和原型设计变得非常容易。Keras在底层使用TensorFlow、Theano或CNTK等后端框架进行计算。


MXNet:由亚马逊AWS支持的MXNet是另一个高效且可扩展的深度学习框架。它在速度和内存使用方面进行了优化,支持多种编程语言和硬件平台。MXNet还提供了一个名为Gluon的高级API,用于简化神经网络的构建和训练。

二:使用

1: TensorFlow:

安装TensorFlow

pip install tensorflow

一旦TensorFlow被导入,您就可以开始创建张量(tensors)、定义计算图、构建神经网络模型等。

以下是一个简单的TensorFlow示例,演示如何创建一个张量并执行计算:


import tensorflow as tf  

# TensorFlow 2.x 使用 Eager Execution,无需显式创建会话  
x = tf.constant(3)  
y = tf.constant(4)  
z = x + y  

# 直接打印结果,无需会话  
print(z.numpy())

2:PyTorch

安装
pip install torch torchvision torchaudio cpuonly

以下是一个简单的PyTorch示例,演示了如何创建一个张量(tensor)、执行计算以及使用自动梯度进行求导:


import torch  

# 创建一个未初始化的5*3矩阵  
x = torch.empty(5, 3)  
print(x)  

# 创建一个随机初始化的矩阵  
x = torch.rand(5, 3)  
print(x)  

# 创建一个全为1的矩阵,数据类型为long  
x = torch.ones(5, 3, dtype=torch.long)  
print(x)  

# 创建一个从0到9的一维张量  
x = torch.arange(10)  
print(x)  

# 执行计算  
y = x + 2  
print(y)  

# 使用自动梯度  
z = y * y * 3  
out = z.mean()  
print(z, out)  

# 反向传播,计算梯度  
out.backward()  
print(x.grad)

3:Keras

在Python中使用Keras,你首先需要安装TensorFlow,因为Keras现在被整合在TensorFlow中作为它的高级API。从TensorFlow 2.0开始,Keras成为了TensorFlow的一部分,并且被设置为了默认的API。这意味着你可以直接通过TensorFlow来访问Keras的功能。

下面是一个使用Keras构建简单全连接神经网络的例子:

# 导入所需库  
import tensorflow as tf  
from tensorflow.keras.models import Sequential  
from tensorflow.keras.layers import Dense  

# 创建一个Sequential模型  
model = Sequential()  

# 添加第一个(输入)层,32个输入节点,16个输出节点  
model.add(Dense(16, input_dim=32, activation='relu'))  

# 添加第二个隐藏层,16个输入节点,8个输出节点  
model.add(Dense(8, activation='relu'))  

# 添加输出层,8个输入节点,1个输出节点  
model.add(Dense(1, activation='sigmoid'))  

# 编译模型,指定损失函数、优化器和评估指标  
model.compile(loss='binary_crossentropy',  
              optimizer='adam',  
              metrics=['accuracy'])  

# 打印模型摘要  
model.summary()

4:MXNet

安装:
pip install mxnet

MXNet 提供了多种方式来构建模型,其中包括使用符号 API 和 Gluon API。下面是一个使用 Gluon API 构建简单多层感知器 (MLP) 的例子:

class MLP(gluon.Block):  
    def __init__(self, **kwargs):  
        super(MLP, self).__init__(**kwargs)  
        self.hidden = gluon.nn.Dense(256, activation='relu')  
        self.output = gluon.nn.Dense(10)  

    def forward(self, x):  
        x = self.hidden(x)  
        x = self.output(x)  
        return x  

# 实例化模型  
net = MLP()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode-第171题-Excel表的序列号

1.题目描述 给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 2.样例描述 3.思路描述 遍历时将每个字母与 A 做减法&…

python 动态数据 展示 ,数据是由51单片机发送过来的,温度传感器。

import tkinter as tk import randomimport seriallis[] for i in range(50):lis.append(i1) # 打开串行端口 ser serial.Serial(COM3, 9600) # 9600为波特率,根据实际情况进行调整# 初始化数据 lis [random.randint(15, 35) for _ in range(50)]def update_data…

jenkins 发布远程服务器并部署项目

安装参考另一个文章 配置maven 和 jdk 和 git 注意jdk的安装目录,是jenkins 安装所在服务器的jdk目录 注意maven的目录 是jenkins 安装所在服务器的maven目录 注意git的目录 是jenkins 安装所在服务器的 git 目录 安装 Publish Over SSH 插件 配置远程服务器 创…

信号系统之线性系统详解

1 线性系统 信号描述了一个参数如何随另一个参数变化。例如,电子电路中的电压随时间变化,或图像中随距离变化的亮度。系统是响应输入信号而产生输出信号的任何过程。如图中的框图所示。 有几个规则用于命名信号: 连续信号使用圆括号&#x…

Python tkinter (15) —— PhotoImage

本文主要介绍Python tkinter PhotoImage图像应用及示例。 系列文章 python tkinter窗口简单实现 Python tkinter (1) —— Label标签 Python tkinter (2) —— Button标签 Python tkinter (3) —— Entry标签 Python tkinter (4) —— Text控件 Python tkinter (5) 选项按…

22.HarmonyOS App(JAVA)位置布局PositionLayout使用方法

不常用 在PositionLayout中,子组件通过指定准确的x/y坐标值在屏幕上显示。(0, 0)为左上角;当向下或向右移动时,坐标值变大;允许组件之间互相重叠 布局方式 PositionLayout以坐标的形式控制组件的显示位置,允许组件相…

JVM 性能调优 - Java 虚拟机内存体系(1)

Java 虚拟机我们简称为 JVM(Java Virtual Machine)。 Java 虚拟机在执行 Java 程序的过程中,会管理几个不同的数据区域。如下图所示: 下面我会介绍这几个数据区的特点。 堆 堆区的几个特点: 线程共享。启动时创建堆…

【MATLAB源码-第131期】基于matlab的淘金优化算法(GRO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 淘金优化算法(GoldRush Optimizer,简称GRO)是一种启发式优化算法,它受到淘金过程的启发。在淘金过程中,淘金者在河流或矿区中寻找金矿,通过筛选沙砾来寻…

Django通过Json配置文件分配多个定时任务

def load_config():with open("rule.json", rb)as f:config json.load(f)return configdef job(task_name, config, time_interval):# ... 通过task_name判断进行操作if task_name get_data_times:passdef main():config load_config()for task_name, task_value…

SpringBoot多模块项目proguard混淆

SpringBoot多模块项目proguard混淆 前言整活项目目录混淆后的效果图混淆配置混淆配置规则keep相关通配符和关键字keep说明常见问题解决办法效果前言 proguard 是压缩、优化和混淆Java字节码文件的免费的工具。 它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大…

网络故障的排错思路

一、网络排错必备知识 1、网络通信的基础设备和其对应的OSI层次 在网络通信中,了解基础设备如交换机、三层交换机、路由器和防火墙以及它们在OSI七层模型中 的作用至关重要。对于网络管理员和工程师来说,深入了解这些设备在OSI模型中的位置和功能可 …

探索Gin框架:Golang Gin框架请求参数的获取

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站https://www.captainbed.cn/kitie。 前言 我们在专栏的前面几篇文章内讲解了Gin框架的路由配置,服务启动等内容。 专栏地址&…

为什么有的人渐渐不点外卖了?

​随着互联网的发展和普及,外卖行业也在近几年内得到了迅猛的发展,它方便快捷、节省时间的特点使得外卖成为了很多人生活的一部分。但是,随着时间的推移,越来越多的人开始减少点外卖的频率,这是为什么呢? 首…

npm修改镜像源

背景:切换npm镜像源是经常遇到的事,下面记录下具体操作命令 1. 打开终端运行"npm config get registry"命令来查看当前配置的镜像源 npm config get registry2. 修改成淘宝镜像源"https://registry.npmjs.org/" npm config set re…

编译原理与技术(三)——语法分析(二)自顶向下-递归下降

一、语法分析的两种方法 自顶向下(Top-down): 针对输入串,从文法的开始符号出发,尝试根据产生式规则推导(derive)出该输入串。 从根部开始构造语法树。 自底向上(Bottom-up&#…

鸿蒙踩坑合集

各位网络中的小伙们,关于鸿蒙的踩坑陆陆续续收集中,本文章会持续更新,希望对您有所帮助 1、预览视图无法正常加载 重新编译项目,点击刷新按钮,控制台提示Build task failed. Open the Run window to view details. 解…

图书借阅管理系统

文章目录 图书借阅管理系统一、项目演示二、项目介绍三、万字文档参考四、系统部分功能截图五、部分代码展示六、底部获取项目和万字文档(9.9¥带走) 图书借阅管理系统 一、项目演示 图书借阅管理系统 二、项目介绍 基于Springbootvue的前后…

二、SSM 整合配置实战

本章概要 依赖整合和添加控制层配置编写(SpringMVC 整合)业务配置编写(AOP/TX 整合)持久层配置编写(MyBatis 整合)容器初始化配置类整合测试 2.1 依赖整合和添加 数据库准备 数据库脚本 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT…

HarmonyOS远程真机调试方法

生成密钥库文件 打开DevEco Studio,点击菜单栏上的build, 填一些信息点击,没有key的话点击new一个新的key。 生成profile文件 AppGallery Connect (huawei.com) 进入该链接网站,点击用户与访问将刚生成的csr证书提交上去其中需…
最新文章