机器学习与深度学习工具Python、Pytorch、PyCharm、CUDA、Cudnn安装大全_超全面、简单有效快速、避免踩坑_不使用Anaconda

别再乱装Python全家桶了!手把手教你用Anaconda+Pycharm搞定PyTorch环境(含CUDA/cuDNN配置避坑) 本文详细指导如何通过Anaconda和PyCharm高效配置PyTorch开发环境,包括CUDA和cuDNN的正确安装与避坑技巧。从环境准备到最终优化,手把手教你避免常见错误,确保GPU加速有效运行,提升AI开发效率。 阅读详情

      

         最近恢复了一下操作系统,很多安装程序都没了。
        想起Pytorch、Cuda和Anaconda安装时会出现一些问题,就将安装工具包的简单有效快速的方法分享一下,避免踩坑。

         由于篇幅太长,故分为两篇文章。

         本文介绍不使用Anaconda的安装方式(毕竟Anaconda占用空间大,很多人不喜欢)。

         下文介绍使用Anaconda放到安装方式。

本文目录

    一、安装Python

          1、下载地址

          2、版本选择

          3、下载

          4、安装(选择自动添加Python环境变量)

          5、配置环境变量

          6、验证是否安装成功

   二、IDE(PyCharm或Visual Studio Code)

   三、安装CUDA

        1、查看NVIDIA驱动程序版本

        2、CUDA下载地址

        3、选择CUDA版本

        4、安装CUDA程序包

        5、配置CUDA环境变量

        6、验证CUDA是否安装成功

  四、安装CuDNN

        1、下载

        2、安装

        3、配置环境变量

        4、验证是否安装成功

   五、安装Pytorch(或TensorFlow)

         1、下载地址

         2、自动下载安装版本选择及命令

         3、手动下载安装版本选择

         4、手安装版

         5、验证是否可以使用

         6、安装位置查询

         7、Tensorflow下载网址

        

  


 

简述:

      1、Python机器学习常用语言,开发环境IDE一般为PyCharm或VScode。

      2、PyTorch

        PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。

2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:

      具有强大的GPU加速的张量计算(如NumPy)。包含自动求导系统的深度神经网络。

        PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络。

PyTorch既可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。除了Facebook外,它已经被Twitter、CMU和Salesforce等机构采用 。


          3、CUDA

        CUDA 是 NVIDIA 发明的一种并行计算平台和编程模型。它通过利用图形处理器 (GPU) 的处理能力,可大幅提升计算性能。

        CUDA Toolkit (nvidia)是CUDA工具安装包,包括 CUDA 编译器(nvcc)、IDE、调试器等,CUDA 程序库文件。

         4、CuDNN、

       深度学习软件库、

一、下载与安装Python

1、下载地址

下载Python的官方网址是:Python Source Releases | Python.org

进入官网后可以见到如图:

2、版本选择

选择“Looking for a specific release? (正在选择某个特定版本吗?)“栏目下载想要的Python版本。

这里选择Python3.10.9,点击”Download“按钮。

页面跳转后,往下拉。一直找到”Files”栏目。

3、下载

Linux操作系统需要下载的版本:

Gzipped source tarball

CentOS操作系统需要下载的版本:

XZ compressed source tarball

小提示:

其实Linux和CentOS自带python,不用再下载python。

Mac操作系统需要下载的版本:

macOS 64-bit universal2 installer

Windows操作系统需要下载的版本:

  

Windows embeddable package (32-bit)

Windows 32位操作系统解压安装版。下载的是一个压缩文件,解压后即表示安装完成。

  

Windows embeddable package (64-bit)

Windows 64位操作系统解压安装版。下载的是一个压缩文件,解压后即表示安装完成。

  

Windows installer (32-bit)

Windows 32位操作系统直接安装版。下载的是一个直接安装程序。

  

Windows installer (64-bit)

Windows 64位操作系统直接安装版。下载的是一个直接安装程序。

   

(推荐下载)

目前大部分电脑的操作系统Win7/Win10/Win11基本上是64位居多。

  

关于版本的选择:

将鼠标放到电脑的“此电脑”(即我的电脑)位置,右键点击“属性”,弹出界面查看操作系统信息,比如:“64 位操作系统, 基于 x64 的处理器”,则选择“Windows installer (64-bit)”下载。

在Pycharm中搭建Pytorch,CUDA(踩坑无数最终精华极简版) 前言: 1.安装pytorch并不一定需要先搭建anaconda环境!(究极大坑,当时网上全是通过anaconda安装pytorch,很麻烦,根本没必要)原因详见末尾补充1。 2.在我的教程中倾向于能让系统自动安装就自动安装,因为我觉得这样能省去各种版本不匹配以及让下载下来的两个东西关联起来的烦恼。 ** 正文: ** 一、在pycharm创建一个项目 如图我选择的环境是virtualenv(并且最终安装成功了),你想选择conda或者pip都行,就随意,如果你只是像我一样想用pytorch而已,对在什 阅读详情

相关推荐

windows11 pycahrm 安装cuda版本的pytorch教程(cuda+cudnn+pytorch)

Windows11安装cuda+cudann+pytorch教程

妙齐光的博客 5526

7种深度学习工具介绍

1)TensorFlow TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。 –Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从图像的一端流动到另一端的计算过程。 –TensorFlow是将复杂的数据结构,传输至人工智能神经网中进行分析和处理过程的系统。 T

中科院计算所培训中心 6633

深度学习环境配置实战:Anaconda与PyTorch CPU/GPU双版本安装指南

在深度学习开发中,环境配置往往是比算法更先遇到的挑战。Python版本冲突、依赖库混杂、CUDA与PyTorch版本不匹配等问题,常让初学者寸步难行。理解虚拟环境的概念与包管理工具的原理,是高效解决这些问题的前提。Anaconda作为主流的数据科学发行版,通过conda管理器可创建多个相互隔离的Python环境,从根本上避免依赖污染。PyTorch作为核心深度学习框架,其CPU与GPU版本对应不同的计算后端,合理规划双环境能在开发调试与模型训练间灵活切换。本文面向Python初学者及工程开发者,系统梳理从A

weixin_34198762的博客 379

Python开发环境全解析:PyCharm、Conda、CUDA核心概念与实战配置

Python作为当今最流行的编程语言之一,其强大的生态系统建立在科学计算、机器学习和Web开发等众多领域。理解编程语言的基本原理后,环境管理和开发工具的选择成为提升开发效率的关键技术环节。Conda作为Python环境管理器,通过创建隔离的虚拟环境解决依赖冲突问题,这一原理在复杂项目开发中具有重要技术价值。PyCharm作为集成开发环境,提供了代码调试、项目管理等工程实践功能,广泛应用于AI开发和数据分析场景。CUDA技术则利用GPU并行计算能力,为深度学习模型训练提供显著的性能加速。本文基于环境配置和开发

weixin_34288121的博客 463

Miniconda vs Anaconda:虚拟环境管理与PyTorch CUDA配置实战

虚拟环境是Python开发中隔离依赖、避免版本冲突的核心机制,通过独立的环境目录和包管理实现项目间的互不干扰。conda作为跨平台的包与环境管理器,支持精确的版本控制和依赖解析,在深度学习场景下尤为重要。Miniconda作为Anaconda的精简版,仅包含conda和Python基础组件,安装包约80MB,相比Anaconda的3GB更加轻量,适合需要多环境切换的开发者。在PyTorch与CUDA环境搭建中,合理使用虚拟环境可有效管理CUDA版本匹配问题,避免依赖冲突。本文围绕Miniconda的安装、换

weixin_34034670的博客 409

Python开发环境全解析:PyCharm、Conda、CUDA的区别与协同配置

在Python开发中,环境配置是项目成功的基础。Python作为核心编程语言,提供了代码执行的基础平台,而Conda作为环境管理器,通过创建隔离的虚拟环境解决包依赖冲突问题,确保不同项目间的版本兼容性。PyCharm作为集成开发环境,集成了代码编辑、调试和项目管理功能,大幅提升开发效率。对于需要高性能计算的场景,CUDA利用GPU并行计算能力,为深度学习和科学计算提供数十倍的加速效果。这些工具在AI开发中协同工作:Python负责代码执行,Conda管理环境隔离,PyCharm提供开发界面,CUDA处理GP

weixin_33694172的博客 371

Anaconda虚拟环境全攻略:从安装配置到项目实战

在Python开发中,依赖管理是确保项目稳定运行的核心技术。通过创建隔离的虚拟环境,开发者可以为不同项目配置独立的Python版本和第三方库,从而避免版本冲突问题。这一技术原理基于环境隔离机制,其价值在于提升开发效率、保障项目可复现性,并广泛应用于数据科学、机器学习、Web开发等场景。Anaconda作为强大的环境管理工具,通过conda命令简化了虚拟环境的创建与管理流程,特别适合处理复杂依赖关系。本文以qwen环境创建为例,详细解析从安装配置到与PyCharm、VS Code等开发工具集成的完整工作流,帮

weixin_34200628的博客 420

Outlook日历同步全攻略:Win10+安卓+iOS三端无缝衔接(附常见问题解决)

本文提供了一份详尽的Outlook日历同步指南,帮助用户在Windows 10、安卓和iOS三端实现无缝衔接。文章深入解析了Exchange ActiveSync等核心同步原理,并给出了从账户创建到各设备(特别是华为手机)的具体配置步骤、进阶管理技巧以及针对同步失败、事件重复等常见问题的实战解决方案,旨在彻底解决跨平台日程管理的痛点。

l3m4n的博客 554

FMQL开发环境实战:从零构建国产FPGA SoC的软件基石

本文详细解析了构建国产复旦微FMQL FPGA SoC软件开发环境的完整流程。针对开发者在环境搭建中遇到的核心痛点,文章深入剖析了Procise、IAR与Vivado三大工具的协同角色与版本选择,提供了从软件下载、安装避坑到核心配置的实战指南,并总结了常见问题的排查方法,旨在帮助开发者高效跨过FMQL开发的“第一道坎”。

weixin_29215391的博客 126

大模型技术驱动智慧矿山数字化转型

多模态大模型作为AI领域的前沿技术,通过融合视觉、传感器等多源数据,构建了强大的环境理解与决策能力。其核心价值在于打破数据孤岛,实现实时分析与智能响应,特别适用于工业场景中的复杂系统优化。在智慧矿山建设中,该技术通过数字孪生、设备自诊断和智能调度等模块,显著提升了安全生产效率和资源利用率。典型应用包括基于强化学习的采掘路径规划、多层级灾害预警体系构建,以及可自我更新的矿山知识图谱系统,这些创新正在推动传统矿业向数字化、智能化方向转型。

weixin_29061531的博客 222

扣子(coze)案例^第22期:零代码打造小红书竞品监控系统+AI自动生成运营策略建议

本文详细介绍了如何利用扣子(coze)平台零代码搭建小红书竞品监控系统。该系统通过自动化工作流抓取竞品笔记数据,并存入飞书多维表格,结合AI能力自动生成包含可视化分析报告在内的运营策略建议,帮助运营者高效进行数据驱动的市场分析。

weixin_29313239的博客 1005

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口)

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口) 之前写了一篇关于C++调用海康相机SDK采集图像的文章,有很多人私下发送消息咨询了一些问题,由于工作繁忙,只答复了一部分问题,今天抽出时间从头梳理了一下大家提出的问题,把我能够回答的问题都解答一次。上一次的程序只是简单的实现了图像的采集,没有使用到线程,今天把程序重新做出调整,把线程和多态加进去。文章最后有项目的下载地址。 我使用的是QT Creator这个IDE,版本信息如下: 我把相机采集的图像转换为openC

大樱桃的博客 1万+

【AI实践】Dify调用本地和在线模型服务

Ollama可以本地部署模型,如何集成私有数据、如何外部应用程序对接,因此需要有一个应用开发框架。ip地址需要换成自己电脑的IP地址;模型名称需要和Ollama模型名称保持一致;docker是虚拟环境的主机,Ollama部署在本地主机,无法通过本机访问。找到Ollama,配置本地Ollama已经验证的模型,如phi3。在docker页面里面,也可以看到running。docker已经安装完成的情况下。,打开dify,注册登录后。在工作区选择调用即可。

AI_Gump的博客 4855

Java全栈开发:充电桩管理系统项目实战

技术收获深入理解分布式系统架构掌握高并发场景解决方案提升系统设计能力经验教训前期需求分析的重要性技术选型需要考虑长期维护测试覆盖率的重要性未来展望引入AI预测故障支持更多支付方式优化用户体验通过此项目的开发,不仅实现了充电桩的智能化管理,也积累了宝贵的全栈开发经验。项目中的很多技术方案和架构设计都具有普遍适用性,可以在其他类似项目中借鉴使用。@Componentstatic {// 初始化状态转换规则。

exlink2012的专栏 1252

Qt/C++编写自定义控件42-开关按钮

一、前言 从2010年进入互联网+智能手机时代以来,各种各样的APP大行其道,手机上面的APP有很多流行的元素,开关按钮个人非常喜欢,手机QQ、360卫士、金山毒霸等,都有很多开关控制一些操作,在Qt widgets应用项目上,在项目中应用些类似的开关按钮,估计也会为项目增添不少新鲜感。 总结了大部分的开关按钮控件,基本上有两大类,第一类是纯代码绘制,这种对代码的掌控度要求比较高,但是灵活性比较好...

Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法 3327

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

下一篇: 单个消费级GPU笔记本win电脑测试LLaMA模型
StringEast
博客等级 码龄4年 3粉丝 2原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值