PyTorch 2.6镜像保姆级教程:3步完成GPU加速环境配置

news2026/5/17 23:47:30
PyTorch 2.6镜像保姆级教程3步完成GPU加速环境配置你是不是刚拿到一台新服务器想快速搭建一个能跑深度学习的GPU环境结果被各种驱动、CUDA版本、环境依赖搞得头大或者你只是想快速验证一个PyTorch模型却花了大半天时间在环境配置上如果你有这些烦恼那今天这篇文章就是为你准备的。我将带你用最简单、最直接的方式在3步之内从零开始搭建一个完整的PyTorch 2.6 GPU开发环境。整个过程不需要你手动安装CUDA不需要配置复杂的依赖甚至不需要你懂Linux命令。读完这篇文章你将获得一个开箱即用、预装好PyTorch 2.6和CUDA的完整开发环境两种访问方式图形化的Jupyter Notebook和命令行的SSH终端验证GPU是否成功加速的完整代码和测试方法常见问题的排查思路和解决方案我们直接开始吧。1. 环境准备理解什么是PyTorch 2.6镜像在开始动手之前我们先花一分钟了解一下我们要用的东西到底是什么这样后面操作起来心里更有底。1.1 镜像是什么为什么它能简化部署你可以把“镜像”理解为一个已经打包好的软件环境快照。想象一下你朋友有一台电脑上面装好了Windows系统、Office软件、Python、PyTorch还有各种游戏。现在他把整个电脑的“状态”打包成一个文件发给你你拿到这个文件后一键就能还原出一台和他一模一样的电脑。PyTorch 2.6镜像就是这样一个“快照”。它里面已经预装了操作系统一个精简的Linux系统Python环境包括Python解释器和常用的科学计算库如NumPy、PandasPyTorch 2.6深度学习框架的核心CUDA工具包让PyTorch能够调用NVIDIA显卡进行计算的关键驱动和库常用工具比如Jupyter Notebook、代码编辑器、包管理工具等它的最大价值在于一致性和可复现性。无论你在谁的电脑上、哪个云服务器上启动这个镜像得到的环境都是一模一样的。这彻底解决了“在我机器上能跑到你那就报错”的经典难题。1.2 你需要准备什么几乎不需要准备什么复杂的东西一台有NVIDIA显卡的电脑或服务器这是硬性要求因为我们要用GPU加速。常见的游戏卡如RTX 3060/4090或专业卡如A100、H100都可以。一个可以运行镜像的平台比如CSDN星图镜像广场、或任何支持Docker/Kubernetes的云平台。基础的网络连接用于下载镜像和安装额外的Python包。如果你的显卡是AMD的或者用的是苹果M系列芯片的Mac那这个基于CUDA的镜像可能无法直接使用GPU加速但CPU模式仍然可以运行。好了理论部分结束。接下来我们进入最核心的实操环节。2. 三步搭建启动、访问、验证你的GPU环境整个流程被我浓缩成了三个关键步骤每一步都有截图和说明你跟着做就行。2.1 第一步获取并启动PyTorch 2.6镜像这是最基础的一步就像你拿到一个软件安装包首先要把它安装到电脑上。具体操作前往你使用的云平台或镜像市场例如CSDN星图镜像广场。在搜索框中输入“PyTorch 2.6”或类似的镜像名称。找到对应的镜像通常会有明确的标签比如pytorch:2.6.0-cuda12.1。点击“部署”或“启动”按钮。这个过程通常是全自动的平台会帮你完成所有的拉取和初始化工作。关键点选择版本确保你选择的镜像明确包含“CUDA”和“2.6”字样。CUDA版本如11.8, 12.1需要尽量匹配你显卡驱动支持的版本不过镜像通常做了较好的兼容。资源配置在启动时平台可能会让你选择给这个环境分配多少CPU、内存和GPU。对于学习和小型模型2核CPU、4GB内存、1块GPU就足够了。如果要训练大模型则需要按需提高配置。等待启动第一次启动可能需要几分钟因为要下载镜像文件。之后再次启动就会非常快。当平台提示“运行中”或提供访问地址时第一步就完成了。2.2 第二步选择你的访问方式Jupyter 或 SSH镜像启动后你如何进去操作呢通常有两种主流方式你可以根据习惯任选其一。方式一通过Jupyter Notebook访问推荐给初学者和研究者Jupyter提供了一个网页版的交互式编程环境特别适合做数据分析、模型调试和教学。在镜像的管理页面找到“访问方式”或“服务地址”点击提供的Jupyter链接。浏览器会打开一个新页面首次访问可能需要输入令牌Token或密码。这个信息通常在镜像的详情页或启动日志里能找到。登录成功后你会看到一个文件管理器界面。在这里你可以新建Python笔记本.ipynb文件上传自己的代码和数据。上图示意通过平台提供的访问地址进入Jupyter上图示意在Jupyter中创建新的Notebook进行编程方式二通过SSH终端访问推荐给开发者和习惯命令行的用户SSH让你能像操作本地电脑一样用命令行远程控制这个环境更适合自动化脚本和深度定制。同样在镜像管理页面找到SSH连接信息包括IP地址或域名、端口号和登录密码或密钥。打开你电脑上的终端Windows可用PowerShell或CMDMac/Linux直接用Terminal。输入连接命令格式通常是ssh root你的镜像IP -p 端口号然后根据提示输入密码。上图示意在平台控制台获取SSH连接所需的IP、端口和密码上图示意通过终端工具成功连接到镜像内部连接成功后你会看到一个命令行提示符比如rootcontainer-id:~#这表示你已经进入了镜像内部的操作系统可以开始执行任何Linux命令了。两种方式怎么选想点点鼠标、边写代码边看图表结果选Jupyter。想用vim改代码、用命令行跑训练脚本、做自动化选SSH。小孩子才做选择大人可以两个都要。很多时候我是用Jupyter做探索和可视化用SSH来管理后台长期运行的任务。2.3 第三步验证PyTorch和GPU是否正常工作环境搭好了门也进去了最重要的一步是检查武器GPU能不能用。我们写一个简单的Python脚本来完成全面体检。不管你用的是Jupyter还是SSH打开一个Python环境Jupyter里新建一个Notebook单元格SSH里输入python或python3命令然后逐行输入并运行下面的代码# 1. 导入PyTorch库 import torch # 2. 打印PyTorch版本确认是2.6 print(fPyTorch版本: {torch.__version__}) # 期望输出类似PyTorch版本: 2.6.0cu121 # 3. 检查CUDA即GPU支持是否可用 print(fCUDAGPU是否可用: {torch.cuda.is_available()}) # 期望输出CUDAGPU是否可用: True # 如果这里是False说明GPU没识别到后面就不用看了得去排查问题。 # 4. 如果CUDA可用查看GPU数量和信息 if torch.cuda.is_available(): # 有多少块可用的GPU gpu_count torch.cuda.device_count() print(f可用的GPU数量: {gpu_count}) # 详细查看每一块GPU for i in range(gpu_count): gpu_name torch.cuda.get_device_name(i) gpu_memory torch.cuda.get_device_properties(i).total_memory / 1e9 # 转换为GB print(f GPU {i}: {gpu_name}, 显存: {gpu_memory:.2f} GB) # 获取当前默认使用的GPU通常是0号 current_device torch.cuda.current_device() print(f当前使用的GPU索引: {current_device}) else: print(警告CUDA不可用将使用CPU运行速度会慢很多。) # 5. 做一个简单的张量计算测试对比CPU和GPU速度 print(\n--- 开始性能测试 ---) # 创建一个较大的随机矩阵 x torch.randn(10000, 10000) # 在CPU上做矩阵乘法并计时 import time start_time time.time() cpu_result x x.T cpu_time time.time() - start_time print(fCPU计算耗时: {cpu_time:.4f} 秒) if torch.cuda.is_available(): # 将数据移动到GPU上 x_gpu x.cuda() # 第一次在GPU上运行可能会有一些初始化开销先预热一下 _ x_gpu x_gpu.T torch.cuda.synchronize() # 等待GPU计算完成 # 正式在GPU上计时 start_time time.time() gpu_result x_gpu x_gpu.T torch.cuda.synchronize() # 等待GPU计算完成 gpu_time time.time() - start_time print(fGPU计算耗时: {gpu_time:.4f} 秒) # 计算加速比 if gpu_time 0: speedup cpu_time / gpu_time print(fGPU加速比: {speedup:.2f}x) else: print(GPU计算时间过短无法计算准确加速比。) # 验证CPU和GPU结果是否一致允许微小误差 # 将GPU结果移回CPU进行比较 gpu_result_cpu gpu_result.cpu() # 使用allclose函数比较设置一个很小的误差容忍度 if torch.allclose(cpu_result, gpu_result_cpu, rtol1e-4): print(结果验证: CPU与GPU计算结果一致) else: print(警告: CPU与GPU计算结果存在差异)这段代码会告诉你什么第2步确认你安装的确实是PyTorch 2.6。第3步这是最关键的一步True代表成功False代表失败。第4步看看你有几块GPU它们叫什么名字显存有多大。第5步用一个实际的矩阵乘法运算直观地感受GPU比CPU快了多少倍。对于10000x10000的矩阵GPU通常能有几十到上百倍的加速。如果一切顺利你会看到类似下面的输出这标志着你的PyTorch GPU环境已经完美就绪PyTorch版本: 2.6.0cu121 CUDAGPU是否可用: True 可用的GPU数量: 1 GPU 0: NVIDIA GeForce RTX 4090, 显存: 24.00 GB 当前使用的GPU索引: 0 --- 开始性能测试 --- CPU计算耗时: 15.8321 秒 GPU计算耗时: 0.1274 秒 GPU加速比: 124.27x 结果验证: CPU与GPU计算结果一致看到那个124倍的加速比了吗这就是为什么我们要大费周章配置GPU环境的原因。3. 开始你的第一个深度学习项目环境验证通过后你就可以为所欲为了。这里我给你两个最经典的入门方向你可以直接复制代码运行。3.1 方向一用GPU加速一个经典的图像分类模型ResNet让我们用PyTorch自带的预训练模型快速体验一下GPU在图像识别上的威力。import torch import torchvision.models as models import torchvision.transforms as transforms from PIL import Image import time # 检查GPU device torch.device(cuda if torch.cuda.is_available() else cpu) print(f使用设备: {device}) # 1. 加载一个预训练的ResNet-50模型并放到GPU上 model models.resnet50(pretrainedTrue).to(device) model.eval() # 设置为评估模式 # 2. 准备一张图片这里我们创建一个随机图片模拟你可以替换成自己的图片路径 # 假设我们有一张图片先把它处理成模型需要的格式 transform transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]), ]) # 创建一个随机图片张量来模拟输入 (批量大小32, 3通道, 224x224) batch_size 32 dummy_input torch.randn(batch_size, 3, 224, 224).to(device) print(f输入数据形状: {dummy_input.shape} (批量大小: {batch_size})) # 3. 进行推理并计时 with torch.no_grad(): # 推理时不计算梯度节省内存和计算 # 预热第一次运行可能有额外开销 _ model(dummy_input) torch.cuda.synchronize() if device.type cuda else None # 正式测试 start_time time.time() for i in range(100): # 模拟推理100次 output model(dummy_input) torch.cuda.synchronize() if device.type cuda else None total_time time.time() - start_time print(f推理100批次每批32张图总耗时: {total_time:.2f} 秒) print(f平均每张图片推理时间: {(total_time*1000)/(100*batch_size):.2f} 毫秒) # 4. 查看输出结果这里输出的是1000个类别的概率 print(f输出结果的形状: {output.shape}) # 应该是 [32, 1000] # 获取每张图片最可能的类别 _, predicted_class output.max(1) print(f第一批数据中第一张图片的预测类别索引: {predicted_class[0].item()})这段代码展示了如何加载一个大型模型ResNet-50并用GPU进行批量图片推理。你可以尝试改变batch_size的大小感受一下GPU处理大批量数据时的效率。3.2 方向二创建并训练一个简单的神经网络如果你不想用现成的模型想自己从零开始搭一个试试这个简单的例子它会在经典的MNIST手写数字数据集上进行训练。import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader # 设置设备 device torch.device(cuda if torch.cuda.is_available() else cpu) print(f训练设备: {device}) # 1. 准备数据 transform transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,)) ]) # 下载MNIST数据集 train_dataset torchvision.datasets.MNIST(root./data, trainTrue, downloadTrue, transformtransform) test_dataset torchvision.datasets.MNIST(root./data, trainFalse, downloadTrue, transformtransform) # 创建数据加载器 train_loader DataLoader(train_dataset, batch_size64, shuffleTrue) test_loader DataLoader(test_dataset, batch_size64, shuffleFalse) # 2. 定义一个简单的神经网络 class SimpleNN(nn.Module): def __init__(self): super(SimpleNN, self).__init__() self.flatten nn.Flatten() self.linear_relu_stack nn.Sequential( nn.Linear(28*28, 512), nn.ReLU(), nn.Linear(512, 512), nn.ReLU(), nn.Linear(512, 10), # 10个输出对应0-9数字 ) def forward(self, x): x self.flatten(x) logits self.linear_relu_stack(x) return logits model SimpleNN().to(device) print(model) # 3. 定义损失函数和优化器 loss_fn nn.CrossEntropyLoss() optimizer optim.Adam(model.parameters(), lr1e-3) # 4. 训练函数 def train(dataloader, model, loss_fn, optimizer): size len(dataloader.dataset) model.train() for batch, (X, y) in enumerate(dataloader): X, y X.to(device), y.to(device) # 前向传播 pred model(X) loss loss_fn(pred, y) # 反向传播 optimizer.zero_grad() loss.backward() optimizer.step() if batch % 100 0: loss, current loss.item(), batch * len(X) print(f训练损失: {loss:7f} [{current:5d}/{size:5d}]) # 5. 测试函数 def test(dataloader, model, loss_fn): size len(dataloader.dataset) num_batches len(dataloader) model.eval() test_loss, correct 0, 0 with torch.no_grad(): for X, y in dataloader: X, y X.to(device), y.to(device) pred model(X) test_loss loss_fn(pred, y).item() correct (pred.argmax(1) y).type(torch.float).sum().item() test_loss / num_batches correct / size print(f测试结果: \n 准确率: {(100*correct):0.1f}%, 平均损失: {test_loss:8f}\n) # 6. 开始训练 epochs 5 for t in range(epochs): print(f第 {t1} 轮训练\n-------------------------------) train(train_loader, model, loss_fn, optimizer) test(test_loader, model, loss_fn) print(训练完成)运行这段代码你会看到模型在5轮训练后在测试集上的准确率能达到97%以上。整个过程如果是在CPU上可能会慢到让你打瞌睡但在GPU上眨眼之间就完成了。4. 常见问题与故障排除即使按照教程一步步来有时也会遇到一些小问题。这里我总结了几种最常见的情况和解决办法。4.1 问题一torch.cuda.is_available()返回False这是最令人头疼的问题意味着PyTorch没找到你的GPU。排查步骤确认显卡驱动已安装在SSH终端里输入nvidia-smi命令。如果这个命令能运行并显示出你的GPU信息型号、驱动版本、CUDA版本那说明驱动是好的。如果命令不存在你需要先在宿主机运行镜像的物理机上安装NVIDIA驱动。检查镜像的CUDA版本与驱动兼容性nvidia-smi输出的最上面一行会显示“CUDA Version: 12.4”之类的信息。这代表驱动最高支持的CUDA版本。你的PyTorch镜像内置的CUDA版本从torch.version.cuda可查看必须小于等于这个版本。比如驱动支持12.4镜像用12.1或11.8通常没问题但用12.5可能就不行。确认容器/镜像正确挂载了GPU如果你是在Docker或Kubernetes环境中启动镜像时需要添加--gpus all参数对于Docker或在编排文件中声明GPU资源。在CSDN星图这类平台通常需要在创建实例时在“资源配置”里明确勾选和分配GPU。重启大法有时候简单地重启一下镜像实例就能解决问题。4.2 问题二运行代码时出现CUDA内存不足CUDA out of memory这通常是因为你的模型或数据太大了显卡的显存放不下。解决办法减小批次大小Batch Size这是最有效的方法。把代码中的batch_size64改成batch_size32、16或更小。使用更小的模型比如把resnet50换成resnet18。检查内存泄漏确保在训练循环中没有不必要地累积张量。使用torch.cuda.empty_cache()可以清理未使用的缓存但这是治标不治本。使用混合精度训练这可以显著减少显存占用并加速训练。需要用到torch.cuda.amp模块对初学者稍复杂但效果显著。使用梯度累积当显存不足以支持大的批次时可以多次前向传播累积梯度再一次性更新参数模拟大批次的效果。4.3 问题三如何安装额外的Python包镜像里预装的包可能不够用你需要自己安装。在Jupyter Notebook中新建一个代码单元格输入!pip install 包名并运行即可。例如!pip install pandas scikit-learn。在SSH终端中直接输入pip install 包名命令。持久化安装如果你希望下次启动镜像时这些包还在需要将安装命令写入镜像的启动脚本或Dockerfile中但这属于进阶操作。对于云平台提供的镜像通常每次启动都是干净的安装的包不会被保存。你可以考虑自己构建一个包含这些依赖的定制镜像。4.4 问题四我的代码在CPU上能跑在GPU上报错这通常是数据或模型没有在同一个设备上。核心原则确保模型、输入数据、标签数据都在同一个设备上要么全在CPU要么全在GPU。错误示例model model.cuda() # 模型在GPU data data # 数据默认在CPU output model(data) # 报错正确做法device torch.device(cuda if torch.cuda.is_available() else cpu) model model.to(device) data data.to(device) output model(data)5. 总结与下一步恭喜你如果你跟着教程走到了这里那么你已经成功完成了一个完整的PyTorch GPU开发环境的搭建、验证和初步使用。我们来快速回顾一下今天的核心收获理解价值我们明白了使用预制的PyTorch镜像能免去手动配置环境的繁琐实现环境的开箱即用和绝对一致。三步搭建你学会了如何启动镜像、如何通过Jupyter或SSH访问它以及如何用一段代码验证GPU是否正常工作。这是最核心的实操技能。即刻上手我给了你两个可以直接运行的代码示例一个用于体验GPU推理的加速另一个用于体验GPU训练的完整流程。排除万难我们还梳理了可能遇到的常见问题及其解决方法让你在遇到困难时不至于手足无措。这个环境就像你的一个私人AI实验室现在它已经准备就绪。接下来你可以跑通更多的官方示例去PyTorch官网的教程区把代码复制过来运行。复现论文代码在GitHub上找你感兴趣领域的论文开源代码用这个环境跑起来。开始自己的项目无论是做图像分类、目标检测还是自然语言处理你都有了强大的算力基础。深度学习的世界很大但入门的第一步——环境配置——你已经稳稳地跨过去了。剩下的就是尽情探索和创造了。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

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

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

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…