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 矩阵之上9 再次开始 -> 正文阅读

[人工智能]Python 矩阵之上9 再次开始

说明

很早就想继续深入这一块了,之前一方面忙一些更基础的东西,另一方面也是没有找到很合适的切入点(毕竟时间太有限了,不能改进时效比的事不能做)。

现在看下来,至少有两方面是非常贴地气的:

  • 1 使用矩阵计算加速普通的数据处理过程,例如pandas的计算是以列进行异步的,和矩阵计算的效率比低了一个量级。
  • 2 构成更快速的遗传算法。之前做过一个完整的物流配送优化项目,geatpy效率还可以,但是只是基于cpu计算的。(我的3060Ti都躺了快半年没用了,多可惜啊。)

内容

1 短期目标

  • 1 构建基于矩阵的数据基本操作,基于CPU将效率提升到极致
  • 2 构建可使用GPU加速的遗传算法

如果能做到这两个目标,我就在明年的618奖励自己一台强主机(5950x + 3080Ti)

2 热身

先把让3060Ti跑一下一亿欧几里得测试

cpu

import pandas as pd
import numpy as np
import time

a = np.random.rand(1,100000000)
b = np.random.rand(1,100000000)

%%timeit 
#计算numpy计算速度
time_start=time.time()
dist1 = np.linalg.norm(a - b)#numpy求欧氏距离
time_end=time.time()
print(time_end-time_start)

0.2157762050628662
0.19418692588806152
0.19490408897399902
0.19572806358337402
0.19535326957702637
0.19487929344177246
0.19504618644714355
0.19464635848999023
195 ms ± 458 μs per loop (mean ± std. dev. of 7 runs, 1 loop each)

by the way, m1 pro的速度大约是110ms。m1芯片的适配真是太差了,鸿蒙笔记本出来我就考虑那个啥… 嗯,反正都是上网本。

GPU(3060Ti)

%%timeit
import torch
from torch.functional import F

e = torch.rand(1,100000000).cuda()
f = torch.rand(1,100000000).cuda()


#计算tensor在cuda上的计算速度
time_start=time.time()
# 我计算结果的精度调高,原例子是p=2
dist2 = F.pairwise_distance(e, f, p=5)
time_end=time.time()
print(time_end-time_start)


0.0011906623840332031
0.00017309188842773438
0.00015926361083984375
0.00015735626220703125
0.00016450881958007812
0.00016450881958007812
0.0001609325408935547
0.0001628398895263672
1.09 s ± 295 μs per loop (mean ± std. dev. of 7 runs, 1 loop each)

一方面,数据从内存搬到显存是有代价的;另一方面,如果显存已经ready,算的速度比CPU那是快了几个0.

显存不要溢出哟(之前有跑过几个任务,突发的时候占用的显存过大,然后卡住不动,直到我停掉一个任务才恢复)

!nvidia-smi

Mon Dec 13 23:35:30 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.73.01    Driver Version: 460.73.01    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 306...  Off  | 00000000:01:00.0 Off |                  N/A |
|  0%   41C    P8    14W / 200W |   3122MiB /  7979MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 15:56:46  更:2021-12-14 15:57:34 
 
开发: 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/27 1:33:19-

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