深度学习电脑配置

2023-05-16

来源:雷锋网

本文作者:三川

原文链接:https://www.leiphone.com/news/201705/uo3MgYrFxgdyTRGR.html

与“传统” AI 算法相比,深度学习(DL)的计算性能要求,可以说完全在另一个量级上。

而 GPU 的选择,会在根本上决定你的深度学习体验。那么,对于一名 DL 开发者,应该怎么选择合适的 GPU 呢?这篇文章将深入讨论这个问题,聊聊有无必要入手英特尔协处理器 Xeon Phi,并将各主流显卡的性能、性价比制成一目了然的对比图,供大家参考。

先来谈谈选择 GPU 对研究深度学习的意义。更快的 GPU,能帮助新人更快地积累实践经验、更快地掌握技术要领,并把这些应用于新的任务。没有快速的反馈,从错误中学习要花费太高的时间成本,学习深度学习便很可能变成一个令人反胃、进而望而生畏的经历。

是否需要多卡?

出于最初的激动,我走上了多卡交火的不归路——用 40Gbit/s 的 InfiniBand 桥接器连接,我搭建了一个迷你 GPU “集群”,万分激动地试验多卡是否能有更好的表现。

但很快我就发现,让神经网络在多卡上高效地并行处理,其实是一件挺不容易的事。尤其是对于更密集的神经网络,性能的提升可以用一句“不过如此”来形容。通过数据并行化,小型神经网络倒可以很高效地并行处理,但大型的就不行了。比如 Kaggle 竞赛“Partly Sunny with a Chance of Hashtags”,我用深度学习方法拿下了第二名,多卡就基本没有加速效果。

这之后,我继续探索如何在多卡环境玩深度学习。

我开发了一个全新的 8 bit 压缩技术,其模型并行化比起 32 bit 方法要高效得多,尤其是密集或全连接层。但我同时发现,并行化可以让你极度失望——我幼稚地针对一系列问题优化了并行算法,结果发现,即便有优化的特制代码,多 GPU 的并行化仍然效果一般,尤其考虑到投入的大量精力。

在搞并行化之前,你必须要非常了解你的硬件,以及它与深度学习算法的相互支持程度,来估计是否能从并行化获益。

玩深度学习选哪块英伟达 GPU?有性价比排名还不够!


这是我的 PC。你看到的是三块泰坦以及 InfiniBand 桥接卡。但这个配置适合深度学习吗?

从那时起,对 GPU 并行的支持越来越常见,但离普及还差得远,更不要提高效地运行。到目前为止,唯一一个能在多卡、多机环境实现高效算法的深度学习框架,是 CNTK。它利用了微软特制的具有 1 bit 量化(高效)和 block momentum(非常高效)的并行化算法。

如果在 96 卡 GPU 集群上运行 CNTK,线性速度预计可达到 90 到 95 倍。PyTorch 或许会是另一个能高效地支持多机并行化的框架,但暂时还没到位。如果你在一台设备上搞并行化,你的选择基本就是 CNTK、Torch 或者 PyTorch。这些框架有不错的加速表现(3.6-3.8 倍),对于一机四卡(最多)有预定义的算法。其他支持并行化的库和框架也存在,但它们要么很慢(比如 TensorFlow,只有两到三倍的加速);要么对于在多卡环境很难用(比如 Theano);再要么两个缺点都有。

如果并行化对你很重要,我推荐你用 Pytorch 或 CNTK。

多卡,但不搞并行

多卡的另一个优势是,即便你不对算法做并行化,还可以同时跑多个算法、实验——每个算法在在一个 GPU 上单独运行。你不会获得任何加速,但同时使用不同算法或参数,你会得到更多关于效果表现的信息。如若你的主要目标是尽快积累深度学习经验,这是非常有用处的。对于需要对一个新算法的不同版本做实验的研究人员,这也相当有用。

这是多卡在心理上的价值。处理一个任务与获得结果反馈之间的时间越短,大脑把相关记忆碎片组织起来、建立起该任务知识图的效果就越好。如果数据集不大,你在两块 GPU 上用这些数据同时训练两个卷积网络,你会很快就会知道“一切顺利”的感觉有多好。你会更快地发现交叉验证误差,并做合理解释。你能发现一些线索,让你知道需要添加、移除或调整哪些参数或层。

总的来讲,你可以说对于几乎所有任务,一块 GPU 基本就够了。但用多卡来加速深度学习模型,正在变得越来越重要。如果你的目标是快速入门深度学习,多块便宜的显卡也是不错的。就我个人而言,我更倾向选择多块弱一点的 GPU,而不是一块核弹,对于研究实验也是如此。

应该选哪家的加速器——英伟达 GPU,AMD GPU,还是英特尔 Xeon Phi?

英伟达的标准算法库,使得在 CUDA 中建立第一批深度学习库非常简单。但对于 AMD OpenCL,这样的强大标准库并不存在。现实是,现在 A 卡并没有好用的深度学习库——所以一般人只能选 N 卡。即便将来有了 OpenCL 库,我仍会接着用 N 卡。原因很简单:GPU 通用计算,或者说 GPGPU 的社群基本上是围绕着 CUDA 转的,而没有多少人钻研 OpenCL。因此,在 CUDA 社区,你可以立刻获得好的开源方案和代码建议。

另外,对于深度学习,即便这项技术及其产业尚在襁褓之中,英伟达可谓是全面出击。老黄的投入并没有白费。那些现在才投入资金、精力,想要赶上深度学习风口的公司,由于起步晚,离英伟达的距离有老大一截。当前,使用任何除 NVIDIA-CUDA 之外的软硬件组合玩深度学习,简直是故意跟自己过不去。

至于英特尔 Xeon Phi,官方宣传是你能用标准的 C 语言代码,并轻松把代码转化为加速的 Xeon Phi 代码。该功能听着不错——你也许会想着可以借助海量的 C 语言资源。但实际情况是,只有非常少数的 C 语言代码有支持,而且大部分能用的 C 代码会非常非常的慢。因此,它其实比较鸡肋。

我曾在一个 Xeon Phi 集群工作站搞研究,这期间的经历不忍回想,一把辛酸泪:

我无法运行单位测试,因为 Xeon Phi MKL 和 Python Numpy 不兼容;我不得不重构大部分的代码,因为 Xeon Phi 编译器无法对模板做恰当的 reduction,比如说对 switch statement;我不得不修改 C 界面,因为 Xeon Phi 编译器不支持一些 C++11 功能。

所有这些迫使我在心酸沮丧中重写代码,并且没有单位测试。这过程极度漫长,堪称地狱般的经历。

直到我的代码终于成功执行,但所有东西速度都很慢。有一些问题,搞不清是 bug 还是线程调度程序的原因,总之如果张量大小接连发生改变,性能就会大幅降低。举个例子,如果你有大小不同的全连接层或 dropout 层,Xeon Phi 比 CPU 还要慢。我在独立矩阵乘法上重现了这个问题,并发给英特尔,但没有回音。

所以,如果你真想搞深度学习,离 Xeon Phi 越远越好。

预算有限,怎么挑 GPU?

想到为深度学习挑选 GPU,你脑子里冒出来的第一个问题大概是:最重要的性能参数是什么?Cuda 核心数目?频率?显存大小?

都不是。

对深度学习性能影响最大的参数是显存带宽。

简单来讲,GPU 为显存带宽而优化,为此牺牲了显存读取时间,即延迟。而 CPU 恰恰与此相反——如果只涉及少量内存,它能非常快速地做计算,比如个位数之间的乘法(3*6*9)。但是对于大量内存之上的运作,比如矩阵乘法(A*B*C),CPU 是非常慢的。由于高显存带宽,GPU 就很擅长处理这类问题。当然,CPU 与 GPU 之间有的是微妙细致的区别,这只是非常重要的一个。

因此,如果你想要买一个玩深度学习快的 GPU,首先要看显存带宽。

从显存带宽评估 GPU




玩深度学习选哪块英伟达 GPU?有性价比排名还不够!

近几年 CPU、GPU 的带宽对比

同一代架构内,GPU 的带宽可以直接比较。比如 Pascal GTX 1080 vs. GTX 1070。单独看显存带宽就可以直接判断它们在深度学习上的性能差距:GTX 1080 (320GB/s) 比 GTX 1070 (256 GB/s) 带宽快 25%,实际情况大约如是。

但不同架构之间,比如 Pascal GTX 1080 vs. Maxwell GTX Titan X,带宽并不能直接比较。这是由于不同的制造工艺对显存带宽的使用情况不同。这使得 GPU 之间的对比会稍嫌棘手。但即便如此,仅仅看带宽还是能大致估出 GPU 的深度学习速度。

另一个需要考虑的因素,是与 cuDNN 的兼容性。并不是所有 GPU 架构都提供支持。几乎所有的深度学习库都借助 cuDNN 进行卷积运算,这会把 GPU 的选项限制到 Kepler 开普勒或之后的架构,即 GTX 600 系列或更新。另外,Kepler GPU 大多很慢。因此,你应该选择 GTX 900 或 1000 系的 GPU 获得理想性能。

为了对每块显卡在深度学习上的性能差异,给大家一个大致估计,我创建了一个简单的条形图。读这张图的姿势很简单。比如说,一个 GTX 980 的速度大约是 0.35 个 Titan X Pascal;或者,一个 Titan X Pascal 几乎比 GTX 980 快三倍。

雷锋网(公众号:雷锋网)提醒,我自己并没有所有这些显卡,我也并没有在每张显卡上做深度学习跑分评测。这些性能对比,是从显卡参数以及计算评测(与深度学习同一级别的计算任务,比如密码挖掘)中获得。因此,这些只是大略估计。真实数字会有一点变化,但误差应该是极小的,并不会影响排序。

另外需要注意的是,对 GPU 性能利用不足的小型神经网络,会让性能更强的 GPU 在对比中吃亏。比如说,在 GTX 1080 Ti 上跑一个小型 LSTM(128 隐层; batch size > 64),并不会比在 GTX 1070 上快很多。得到下图中的数字,你需要跑更大的神经网络,比如 1024 个隐层的 LSTM(batch size > 64)。

玩深度学习选哪块英伟达 GPU?有性价比排名还不够!


GPU 粗略性能对比

性价比分析

如果我们把上图中的显卡性能除以价格,就得到了每张卡的性价比指数,便是下图。它在一定程度上反映出我们的装机推荐。

玩深度学习选哪块英伟达 GPU?有性价比排名还不够!


性价比对比

新卡的价格来自美亚,旧卡来自 eBay。雷锋网提醒,该图的数字在很多方面都有些些微偏颇。首先,它没有考虑显存大小。通常情况下,你需要比 GTX 1050 Ti 更大的显存来玩深度学习。因此,榜上靠前的部分显卡虽然性价比很高,但是并不实用。

同样的,用四个小 GPU 比用一个大 GPU 要困难得多,因此小 GPU 出于劣势。另外,买 16 个 GTX 1050 Ti 不可能得到四个 GTX 1080 Ti 的性能,你还需要另外买 3 个 PC。如果我们把这一点也考虑进去,上图看上去应该是这样的:

这幅修正过的 GPU 性价比条形图,把其他 PC 硬件的成本也纳入考虑——把可兼容 4 GPU 的高端 PC 平台的成本,定为 $1500。该情况下,如果你想要买许多 GPU,不出意料的,更高端的 GPU 会占优势,因为 PC 平台+ 显卡的整体性价比更高。

但其实,这还是有所偏颇的。不管四个 GTX 1080 Ti 性价比有多高,对普通人而言,这并没有意义——因为买不起。因此,开发者真正感兴趣的应是有限预算里的性价比。针对你的预算,最佳系统选项是什么?你还需要考虑一些其它问题:你计划让这个 GPU 服役多久?几年后,你是要升级 GPU 还是升级整机?将来是否希望出手旧 GPU,回收一些成本,再买个新的?

如果你能平衡多方面的考虑,最后的结论应该与下面的建议介意。

GPU 推荐

通常,我会推荐 GTX 1080 Ti, GTX 1080 或 GTX 1070。如果你的预算足够买 GTX 1080 Ti,就不用犹豫了。GTX 1070 便宜一点,但仍然比上代 GTX Titan X (Maxwell) 要快。相比 GTX 980 Ti,所有这些卡都应该优先考虑,因为更大的显存:11GB、8GB  而不是 6GB。8GB 显存听上去或许不多,但对许多任务是绰绰有余的。对于 Kaggle 竞赛里的大多数图像数据集、deep style 和自然语言理解任务,你基本不会遇到问题。

如果你是第一次尝试深度学习,只是偶尔参加 Kaggle 竞赛,GTX 1060 是最好的入门 GPU。但我不会推荐 3GB 显存的 GTX 1060。

在性价比方面,10 系显卡是相当不错的。GTX 1050 Ti, GTX 1060, GTX 1070, GTX 1080 和 GTX 1080 Ti 都排在前列。GTX 1060 和 GTX 1050 Ti 面向初学者,GTX 1070、GTX 1080 是适合初创公司的多面手,对部分学术研究和产业界也可。GTX 1080 Ti 则是全能高端选项。

我通常不推荐新推出的 Titan Xp,相比其性能,它定价过高,不如选 GTX 1080 Ti。但对于摆弄大型数据集或视频数据的计算机视觉研究人员,Titan Xp 仍然有市场。在这些领域,每一 GB 显存都有价值,而 Titan Xp 比 GTX 1080 Ti 多了 1GB。有了这两者,我不会推荐 Titan X (Pascal) 。

如果你已经有了 GTX Titan X (Maxwell),想要升级到 Titan Xp。我的建议是:把钱存着买下一代,不值。

如果你预算有限,偏偏又需要 12GB 的内存,可以考虑买个二手的 GTX Titan X (Maxwell) 。

但是,对于大多数研究人员,最好的选项仍然是 GTX 1080 Ti。泰坦的额外 1GB 在大多数情况下没什么影响。

对我个人而言,会选择多个 GTX 1070 或 GTX 1080 来做研究。我宁愿多运行几个慢一点的试验,而不仅仅是运行一个更快的。在 NLP,内存要求并没有计算机视觉那么高,单只 GTX 1070/GTX 1080 对我来说就够了。我需要处理的任务、如何进行试验,决定了对我而言的最佳选择,不管是 GTX 1070 还是 GTX 1080。

对于预算紧张的开发者而言,选择余地非常有限。租 AWS 上的 GPU 实体价格已经太高,还是买自己的 GPU 更划算。我不推荐 GTX 970,不仅慢,二手的价格也不够实惠,而且它还存在显存启动问题。我的建议是加点钱上 GTX 1060,更快、显存更大而且没有毛病。GTX 1060 超出你的预算的话,我建议 4GB 版 GTX 1050 Ti。4GB 显存确实限制比较大,但如果对模型做些修改,仍可以得到还可以的性能表现。对于大多数 Kaggle 竞赛而言,GTX 1050 Ti 是合适的,在少部分比赛可能会影响你的竞争力。

如果你只是私下玩玩深度学习,没打算认真钻研,GTX 1050 Ti 是一个合适的选择。

结论

有了本文中的所有信息,你大概已经能平衡显存大小、带宽、价格等多方面因素,来做出合理的购买决策。现在,我的建议是若预算充足,就上 GTX 1080 Ti, GTX 1080 或 GTX 1070。刚刚上手深度学习、预算有限的话,选 GTX 1060。预算实在有限,那么 GTX 1050 Ti。计算机视觉研究人员可能会需要 Titan Xp。

本文转自雷锋网,如需转载请至雷锋网官网申请授权

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习电脑配置 的相关文章

  • python中关于图例legend在图外的画法简析

    1 最近遇到一个问题 xff0c 关于图例legend如何画在图外的问题 xff0c 并以适合的比例显示出来 2 首先传统的做法如下 xff0c 这种方式并不能满足我的要求 xff0c 而且是显示在图内 ax1 legend loc 61
  • SVM总结

    http blog csdn net lc013 article details 55195523
  • 排序算法理解浅析

    1 排序算法有很多 xff0c 准确的理解可以帮我们快速实现工程问题 xff0c 一种是比较排序 xff0c 时间复杂度最少可达到O n log n xff0c 主要有 xff1a 冒泡排序 xff0c 选择排序 xff0c 插入排序 xf
  • Java事件处理机制(自定义事件)

    转载地址 xff1a http blog csdn net qq 35101189 article details 61673121 ref 61 myread Java中的事件机制的参与者有3种角色 xff1a 1 event objec
  • Hadoop启动命令

    下载hadoop并解压 配置hdfs 修改配置文件etc hadoop hadoop env sh JAVA HOME 61 home middleware jdk 修改配置文件etc hadoop core site xml lt con
  • Git命令:切换分支 & 下载指定分支命令

    git一般有好多分支 xff0c 最近项目中将master分支代码clone到本地 xff0c 用到一些git命令 xff0c 于是记录一下 1 查看远程分支 git branch a git branch a dev master rem
  • 无人机POS数据中GPS/IMU数据的解析(航向角、俯仰角、翻滚角)

    POS数据参数的介绍 无人机在飞行作业时 xff0c 获取的无人机影像通常会携带配套的POS数据 从而在处理中可以更加方便的处理影像 而POS数据主要包括GPS数据和IMU数据 xff0c 即倾斜摄影测量中的外方位元素 xff1a xff0
  • PyTorch 训练时中遇到的卡住停住等问题

    目录 前言1 PyTorch 训练时在第一个 epoch 的最后一个 batch 卡死 问题描述 可能的原因 解决方法 2 使用命令行运行时 xff0c 卡在第一个 epoch 问题描述 原因分析 解决方法 前言 在实际训练中遇到了各种各样
  • 【CSS】CSS的三种使用方式

    CSS的三种使用方式 CSS内联样式 xff08 行内样式 xff09 内部样式表外部样式表 CSS 网页分成三部分 结构 xff08 HTML xff09 表现 xff08 CSS xff09 行为 xff08 JavaScript xf
  • kubernetes 控制平台和节点之间的通信

    这篇文章也是翻译的官网 xff1a Control Plane Node Communication 这篇文章主要罗列 xff08 catelogs xff09 控制平台 xff08 更确切的说是apiserver xff09 和工作节点
  • LPMS-IG1 IMU内参标定

    LPMS IG1 IMU内参标定流程 1 安装IMU驱动 2 安装标定软件 3 录包 4 标定 IMU驱动安装 参考IMU官网驱动安装流程 xff0c 链接 xff1a https www alubi cn support download
  • WebScarab拦截WebGoat的请求

    第一步 xff1a 配置WebSarab的Proxy xff0c 使得与WebGoat的端口相同 第二部 xff1a 开启WebSarab应用 xff0c 然后开启webGoat http localhost WebGoat attack
  • webpack常见错误的解决办法

    项目列表 1 安装webpacke 在本项目中安装webpack xff0c save dev的意思是将依赖写入项目的package json文件 npm install save dev webpack 安装过程中如果出现类似上述的提示
  • /usr/bin/ld: cannot find -lnvcuvid

    我们在安装cuda后 xff0c 会测试cuda的安装情况 xff0c 在 sample文件夹中sudo make后会出现这样的错误 xff1a usr bin ld cannot find lnvcuvid 而我们的解决方案就是你使用的网
  • UML建模与软件开发设计(六)——类图设计与类之间的关系

    3 2 5 关联关系的分类 然而 xff0c 通过关联关系来描述类与类时还是比较抽象 xff0c 有些关系的细节难以通过关联关系表达出来 xff0c 比如类A与类B的角色定位 数量关系 xff0c 关联方向等都描述得不够清晰准确 xff08
  • 四轴PID讲解

    插播一条DJI招聘信息 常年有效 xff1a 包括控制算法 软件功能开发 SDK 嵌入式软件开发 GNSS接收机设计 测试开发 xff08 包括CI持续集成 xff09 请各位对空中机器人 xff0c 地面机器人 xff0c 教育机器人有兴
  • 守护进程

    本博客为本人学习UNIX高级环境编程总结 13 守护进程 13 1 简介 守护进程 xff08 daemon xff09 是生存期长的一种进程 它们常常在系统引导装入时启动 xff0c 仅在系统关闭时才终止 因为它们没有控制终端 xff0c
  • chmod +x,赋予“可执行”权限

    1 chmod 43 x的意思就是给执行权限 xff08 1 xff09 LINUX下不同的文件类型有不同的颜色 xff0c 绿色文件 xff1a 可执行文件 xff0c 可执行的程序 红色文件 xff1a 压缩文件或者包文件 蓝色文件 x
  • Flask-SQLAlchemy和alembic结合(步骤)

    在之前的数据库操作中 xff0c 我们新增一个字段是不是每次都得删除数据库表 xff0c 然后再重新将新创建的数据库表映射到数据库中 这样操作是不是很蛋疼 xff1f 是吧 xff1f 于是sqlalchemy作者拜尔为了解决这一问题 xf

随机推荐

  • pixhawk模块添加和修改以及经验分享

    我看了apm的代码半年 xff0c px4的代码也看了一段时间 xff0c 把我在这个过程遇到的问题和大家分享一下 xff0c 我觉得有些人也会遇到同样的问题 xff0c 给这部分人一点提示 谢谢大家 首先还是先从apm讲起 xff0c 它
  • 第一篇——记录自己的学习过程吧

    初次写博客 xff0c 希望记录一下自己的学习之路 xff0c 也希望以这种方式来监督提醒自己在这条喜欢的路上走下去 xff0c 希望再回首 xff0c 我能看的一个不一样的自己 本人大三程序员 xff0c 可以说是非常渣的那种 我选择软件
  • 什么是ELK?

    出处 xff1a https www cnblogs com aresxin p 8035137 html 我们在进行日志分析时 xff0c 目前的处理方式是在日志文件中grep xff08 一种强大的文本索引工具 xff09 awk xf
  • linux shell脚本将命令执行结果赋值给变量

    使用 例子 xff1a a 61 echo hello world 将命令echo 34 hello world 34 的输出赋给变量a
  • 网段、子网掩码计算方法

    计算 10 21 224 0 22 表示的网段 10 21 224 0 22 是表示网段的方法 xff0c 前面是ip或者子网 xff0c 后面的数字是掩码中高位算起1的位数 xff0c 22就是掩码的高位有22个1 xff0c 即 xff
  • ES6 module.exports和export详解

    module exports和export详解 前言一 commonJs 使用步骤1 导出属性2 导出类 二 ES6规范对外暴露的方式分别暴露统一暴露暴露的时候指定别名 默认暴露 引入方式1 解构赋值引入2 直接引入3 通配符导入 前言 概
  • STM32最小系统详解

    STM32最小系统详解 1 电源电路2 晶振电路3 复位电路4 下载电路 xff08 串口下载 xff09 本文章将以普中的STM32F103系列的开发板为载体 xff0c 任何一款STM32开发板都是在其最小系统基础上添加多个功能模块组成
  • 【CAM】Learning Deep Features for Discriminative Localization

    论文链接 github Abstract 1 Introduction CNN能保留位置信息 xff0c 但经过用于分类的全连接神经网络时会丢失位置信息 最近的NIN和GoogLeNet使用全卷积网络 避免使用全连接层 xff0c 来减少参
  • yolov3详解

    目录 1 anchor的计算机制 2 anchor对应机制 3 网络结构 4 训练过程 5 测试过程 1 anchor的计算机制 锚框anchor是真值框和预测框之间的桥梁 xff1a 预测框在锚框基础上 xff0c 预测出框的大小 xff
  • javaScript-06 表单验证 详细易懂,加案例分析

    目录 一 JS表单验证基本介绍 1 1 JS表单验证概述 1 2表单验证的作用 1 3JS表单验证需求分析 二 JavaScript 事件列表 三 表单验证方式 3 1 string常见方法 3 2 案例 例 xff1a submit事件
  • 云服务器如何选型?可以从这几个方面来考虑

    一 主机配置选择 云服务器的配置因公司业务而异 xff0c 一般来说对于访问量较小的个人网站 xff0c 1核1G更合适 xff0c 2核4G的配置可以满足大多数的用户需求 xff0c 比如企业运营 一般性数据处理 并行计算处理等 xff0
  • 智能家居项目实训笔记(华清远见)(一)

    智能家居项目笔记 准备工作C 43 43 c 43 43 编译器g 43 43 命令符操作命名空间头文件写法指针和引用引用数组引用指针引用C 43 43 修改一块内存 准备工作 基础语法 xff1a C 43 43 跨平台开发 xff1a
  • Object Tracking using OpenCV (C++/Python)(使用OpenCV进行目标跟踪)

    原文链接 xff1a https www cnblogs com annie22wang p 9366610 html 本博客翻译搬运自https www learnopencv com object tracking using open
  • 使用securecrt从远程服务器A ssh连接到服务器B

    在工作中我们经常遇到这样一个问题 xff0c 服务器A和服务器B在一个内网中 xff0c 服务器A有外网ip xff0c 但服务器B没有外网ip或者我们只知道服务器B的内网ip 这时候我们要怎么登上服务器B呢 xff1f 假设服务器A和B都
  • Ubuntu图形界面突然崩溃

    teamviewer远程操作 xff0c 在多工作区切换时Ubuntu图形界面崩溃 重启图形画面后tty7黑屏 sudo service lightdm restart 查看日志 var log lightdm x 0 log 查看日志 v
  • Ubuntu安装显卡驱动

    首先选择显卡对应的驱动版本 sudo bash NV sh no opengl files no x check no nouveau check 参考链接 xff1a https www cnblogs com matthewli p 6
  • Ubuntu 下mysql数据库存放位置迁移

    1 确认mysql 数据存放位置 mysql u root p 输入密码后进入命令好操作 show variables like 39 dir 39 可以看到我们的数据库存放在 datadir 61 var lib mysql 然后关闭my
  • 映射公网的几种方式

    转载自 xff1a http blog csdn net sadshen article details 48240519 这篇文章花了好几天 xff0c 系统地梳理出了映射公网的几种方式 虽然是针对微信开发的外网服务器来寻找解决方案 xf
  • docker:一个container映射多个端口到Host

    如果一个参数的选项格式是 比如 H 61 host p 61 portdirection 这都意味着这个flag可以多次出现 xff0c 所以此处可以多次指定端口映射规则 例 xff1a docker run d p 80 80 p 22
  • 深度学习电脑配置

    来源 xff1a 雷锋网 本文作者 xff1a 三川 原文链接 xff1a https www leiphone com news 201705 uo3MgYrFxgdyTRGR html 与 传统 AI 算法相比 xff0c 深度学习 x