IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 数据安全--27--基于CentOS-7搭建联邦学习实验环境 -> 正文阅读

[Python知识库]数据安全--27--基于CentOS-7搭建联邦学习实验环境

一、安装Python3

# 首先安装依赖包
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

# 下载Python包
wget https://www.python.org/ftp/python/3.7.13/Python-3.7.13.tar.xz

# 解压及编译安装
mkdir /usr/local/python3 
tar -xvJf  Python-3.7.13.tar.xz
cd Python-3.7.13
./configure --prefix=/usr/local/python3
make && make install

# 创建软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

二、部署Anaconda

Anaconda下载地址:https://www.anaconda.com/products/individual#Downloads

在这里插入图片描述
我们此处以Linux为例,部署在CentOS操作系统下,运行命令后,一路yes和Enter即可:
在这里插入图片描述

三、配置GPU环境

配置GPU主要是为了提升模型训练的速度,为了使深度学习框架支持GPU编程,需要安装CUDA和cuDNN。

3.1、CUDA安装

CUDA下载地址:https://developer.nvidia.com/cuda-downloads
在这里插入图片描述
即运行以上命令即可:

wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda-repo-rhel7-11-6-local-11.6.2_510.47.03-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-11-6-local-11.6.2_510.47.03-1.x86_64.rpm
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms cuda
sudo yum -y install cuda-drivers

3.2、cuDNN安装

cuDNN下载地址:https://developer.nvidia.com/cudnn

需要先注册,然后填调查表,最后才能下载安装
在这里插入图片描述
执行以下命令即可:

rpm -ivh cudnn-local-repo-rhel7-8.3.3.40-1.0-1.x86_64.rpm
update libraries list
ldconfig 
ldconfig -p | grep cudnn

四、安装PyTorch

执行以下命令即可:

# -i 参数是为了加快下载速度,从而使用国内源
pip3 install torch -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install -U numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/

在这里插入图片描述

五、PyTorch介绍

PyTorch是由Facebook开源的基于Python的机器学习库。Tensor是PyTorch的基础数据结构,是一个高维数组,可以跨设备存储。

创建Tensor:

import torch

# 张量可以理解为“向量”,即线性代数中的“矩阵”

# 生成整型张量,大小为(2,3)
torch.IntTensor(2,3)
# 生成浮点型张量,大小为(2,3)
torch.FloatTensor(2,3)
# 生成空张量,大小为(2,3)
torch.empty(2,3)

# 生成均匀分布的随机张量,大小为(2,3)
torch.rand(2,3)
# 生成标准正态分布的随机张量,大小为(2,3)
torch.randn(2,3)
# 1表示均值,0.02表示标准差 ,3代表生成的数据行数,2表示列数,requires_grad=True表示对导数开始记录可以忽略
torch.normal(1, 0.02, size=(3, 2), requires_grad=True)

# 生成大小为(2,3)的张量,全部值填充为7
torch.full((2,3),7)
# 生成大小为(2,3)的张量,全部值设置为1
torch.ones(2,3)
# 生成大小为(2,3)的张量,全部值设置为0
torch.zeros(2,3)

Tensor与Python数据结构的转换:

因为PyTorch的运算都以Tensor为单位进行,在运算时都需要将非Tensor的数据格式转化为Tensor。

import torch
import numpy as np

arr = np.array([1, 2, 3, 4, 5])

# 使用tensor接口转换,属于深拷贝
a = torch.tensor(arr)
# 使用as_tensor接口转换,属于浅拷贝,会复用原数据的内存空间,两者一方改变,则另一方跟着改变
b = torch.as_tensor(arr)
# 使用from_numpy接口转换,属于浅拷贝
c = torch.from_numpy(arr)

数据操作:

import torch

# “+”号方式
a = torch.tensor([1,2,3])
b = torch.tensor([4,5,6])
# 结果是:c = tensor([5, 7, 9])
c = a + b

# “add”方式
a = torch.tensor([1,2,3])
b = torch.tensor([4,5,6])
# 结果是:c = tensor([5, 7, 9])
c = torch.add(a, b)

# “_”下划线方式,不需要额外的临时空间
a = torch.tensor([1,2,3])
b = torch.tensor([4,5,6])
# 结果是:tensor([5, 7, 9])
a.add_(b)

# 改变张量形状
a = torch.rand(7,2)
# 改变形状,乘积要相等,不能随意改变,例如7*2=14,可以改成1*14,但不能改成4*5
b = a.view(4,5)
# 以下是查看
a.size()
b.size()

自助求导:

import torch

# 求导时必须加requires_grad=True
a = torch.ones(2, 2, requires_grad=True)
b = a + 2
c = b * b *3
# 结果是:d = tensor(27., grad_fn=<MeanBackward0>)
d = c.mean()
# backward会自动求取所有变量应对应的梯度
d.backward()
# 结果是:(4.5, 4.5, 4.5, 4.5)
a.grad
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:19:14  更:2022-03-30 18:19:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:21:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码