cifar10训练 test 0.894

如何系统化修改账户初始邮箱:从@mail.ru迁移到通用工作流 在账户安全管理中,初始邮箱作为核心身份凭证,其修改流程往往涉及多重验证机制与安全策略。理解账户系统的身份锚定原理与验证逻辑,是解决邮箱迁移等账户信息更新问题的技术基础。通过建立定位入口、准备凭证、执行操作、验证收尾的标准化工作流,不仅能高效完成邮箱更换,更能提升个人数字资产管理能力。本文以修改@mail.ru邮箱为切入点,详解通用四步法在社交娱乐平台、邮箱失效等典型场景下的实战应用,并延伸至密码管理器使用与二次验证等账户安全最佳实践,为构建稳健的数字身份管理体系提供系统化解决方案。 阅读详情

name: "CIFAR10_full"
layer {
  name: "cifar"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  transform_param {
    mean_file: "mean.binaryproto"
    #scale:0.00390625
    mirror:1
    crop_size:28
  }
  data_param {
    source: "cifar10_train_lmdb"
    batch_size: 256
    backend: LMDB
  }
}
layer {
  name: "cifar"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  transform_param {
    mean_file: "mean.binaryproto"
   #scale:0.00390625
    mirror:1
    crop_size: 28
  }
  data_param {
    source: "cifar10_test_lmdb"
    batch_size: 100
    backend: LMDB
  }
}
layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  convolution_param {
    num_output: 32
    pad:2
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.0001
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "relu1_1"
  type: "ReLU"
  bottom: "conv1"
  top: "conv1"
}
layer {
  name: "conv1_1"
  type: "Convolution"
  bottom: "conv1"
  top: "conv1_1"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  convolution_param {
    num_output: 32
    pad:1
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.0001
    }
    bias_filler {
      type: "constant"
    }
  }
}

layer {
  name: "bn_conv1"
  bottom: "conv1_1"
  top: "conv1_1"
  type: "BatchNorm"
  param {
    lr_mult: 0
    decay_mult: 0
    }
  param {
    lr_mult: 0
    decay_mult: 0
    }
  param {
    lr_mult: 0
    decay_mult: 0
    }
  batch_norm_param {
     use_global_stats: false
   }
}
layer {
  name: "scale_conv1"
  bottom: "conv1_1"
  top: "conv1_1"
  type: "Scale"
  param {
  lr_mult: 0.1
  decay_mult: 0
  }
  param {
  lr_mult: 0.1
  decay_mult: 0
  }
  scale_param {
  bias_term: true
  }
}

layer {
  name: "pool1"
  type: "Pooling"
  bottom: "conv1_1"
  top: "pool1"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}

layer {
  name: "conv2"
  type: "Convolution"
  bottom: "pool1"
  top: "conv2"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  convolution_param {
    num_output: 32
    pad:2
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.005
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "relu2_2"
  type: "ReLU"
  bottom: "conv2"
  top: "conv2"
}
layer {
  name: "conv2_2"
  type: "Convolution"
  bottom: "conv2"
  top: "conv2_2"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  convolution_param {
    num_output: 32
    pad:1
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.005
    }
    bias_filler {
      type: "constant"
    }
  }
}

layer {
  name: "bn_conv2"
  bottom: "conv2_2"
  top: "conv2_2"
  type: "BatchNorm"
  param {
    lr_mult: 0
    decay_mult: 0
    }
  param {
    lr_mult: 0
    decay_mult: 0
    }
  param {
    lr_mult: 0
    decay_mult: 0
    }
  batch_norm_param {
     use_global_stats: false
   }
}
layer {
  name: "scale_conv2"
  bottom: "conv2_2"
  top: "conv2_2"
  type: "Scale"
  param {
  lr_mult: 0.1
  decay_mult: 0
  }
  param {
  lr_mult: 0.1
  decay_mult: 0
  }
  scale_param {
  bias_term: true
  }
}

layer {
  name: "pool2"
  type: "Pooling"
  bottom: "conv2_2"
  top: "pool2"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}

layer {
  name: "conv3"
  type: "Convolution"
  bottom: "pool2"
  top: "conv3"
  convolution_param {
    num_output: 64
    pad:2
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.05
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "relu3_3"
  type: "ReLU"
  bottom: "conv3"
  top: "conv3"
}
layer {
  name: "conv3_3"
  type: "Convolution"
  bottom: "conv3"
  top: "conv3_3"
  convolution_param {
    num_output: 64
    pad:1
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.05
    }
    bias_filler {
      type: "constant"
    }
  }
}

layer {
  name: "bn_conv3"
  bottom: "conv3_3"
  top: "conv3_3"
  type: "BatchNorm"
}
layer {
  name: "bn_conv3"
  bottom: "conv3_3"
  top: "conv3_3"
  type: "BatchNorm"
  param {
    lr_mult: 0
    decay_mult: 0
    }
  param {
    lr_mult: 0
    decay_mult: 0
    }
  param {
    lr_mult: 0
    decay_mult: 0
    }
  batch_norm_param {
     use_global_stats: false
   }
}
layer {
  name: "scale_conv3"
  bottom: "conv3_3"
  top: "conv3_3"
  type: "Scale"
  param {
  lr_mult: 0.1
  decay_mult: 0
  }
  param {
  lr_mult: 0.1
  decay_mult: 0
  }
  scale_param {
  bias_term: true
  }
}


layer {
  name: "relu3"
  type: "ReLU"
  bottom: "conv3_3"
  top: "conv3_3"
}
layer {
  name: "pool3"
  type: "Pooling"
  bottom: "conv3_3"
  top: "pool3"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "conv4"
  type: "Convolution"
  bottom: "pool3"
  top: "conv4"
  convolution_param {
    num_output: 64
    pad:2
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.05
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "relu4_4"
  type: "ReLU"
  bottom: "conv4"
  top: "conv4"
}
layer {
  name: "conv4_4"
  type: "Convolution"
  bottom: "conv4"
  top: "conv4_4"
  convolution_param {
    num_output: 64
    pad:1
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.05
    }
    bias_filler {
      type: "constant"
    }
  }
}

layer {
  name: "bn_conv4"
  bottom: "conv4_4"
  top: "conv4_4"
  type: "BatchNorm"
}
layer {
  name: "bn_conv4"
  bottom: "conv4_4"
  top: "conv4_4"
  type: "BatchNorm"
  param {
    lr_mult: 0
    decay_mult: 0
    }
  param {
    lr_mult: 0
    decay_mult: 0
    }
  param {
    lr_mult: 0
    decay_mult: 0
    }
  batch_norm_param {
     use_global_stats: false
   }
}
layer {
  name: "scale_conv4"
  bottom: "conv4_4"
  top: "conv4_4"
  type: "Scale"
  param {
  lr_mult: 0.1
  decay_mult: 0
  }
  param {
  lr_mult: 0.1
  decay_mult: 0
  }
  scale_param {
  bias_term: true
  }
}

layer {
  name: "relu4"
  type: "ReLU"
  bottom: "conv4_4"
  top: "conv4_4"
}
layer {
  name: "pool4"
  type: "Pooling"
  bottom: "conv4_4"
  top: "pool4"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "conv5"
  type: "Convolution"
  bottom: "pool4"
  top: "conv5"
  convolution_param {
    num_output: 128
    pad:2
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.05
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "relu5_5"
  type: "ReLU"
  bottom: "conv5"
  top: "conv5"
}
layer {
  name: "conv5_5"
  type: "Convolution"
  bottom: "conv5"
  top: "conv5_5"
  convolution_param {
    num_output: 128
    pad:1
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "gaussian"
      std: 0.05
    }
    bias_filler {
      type: "constant"
    }
  }
}

layer {
  name: "bn_conv5"
  bottom: "conv5_5"
  top: "conv5_5"
  type: "BatchNorm"
}
layer {
  name: "bn_conv5"
  bottom: "conv5_5"
  top: "conv5_5"
  type: "BatchNorm"
  param {
    lr_mult: 0
    decay_mult: 0
    }
  param {
    lr_mult: 0
    decay_mult: 0
    }
  param {
    lr_mult: 0
    decay_mult: 0
    }
  batch_norm_param {
     use_global_stats: false
   }
}
layer {
  name: "scale_conv5"
  bottom: "conv5_5"
  top: "conv5_5"
  type: "Scale"
  param {
  lr_mult: 0.1
  decay_mult: 0
  }
  param {
  lr_mult: 0.1
  decay_mult: 0
  }
  scale_param {
  bias_term: true
  }
}

layer {
  name: "relu5"
  type: "ReLU"
  bottom: "conv5_5"
  top: "conv5_5"
}
layer {
  name: "pool5"
  type: "Pooling"
  bottom: "conv5_5"
  top: "pool5"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}


layer {
  name: "ip1"
  type: "InnerProduct"
  bottom: "pool5"
  top: "ip1"
  param {
    lr_mult: 1
    decay_mult: 10
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  inner_product_param {
    num_output: 128
    weight_filler {
      type: "gaussian"
      std: 0.005
    }
    bias_filler {
      type: "constant"
    }
  }
}

 

layer {
  name: "ip2"
  type: "InnerProduct"
  bottom: "ip1"
  top: "ip2"
  param {
    lr_mult: 1
    decay_mult: 10
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  inner_product_param {
    num_output: 10
    weight_filler {
      type: "gaussian"
      std: 0.005
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "accuracy"
  type: "Accuracy"
  bottom: "ip2"
  bottom: "label"
  top: "accuracy"
  include {
    phase: TEST
  }
}
layer {
  name: "accuracy"
  type: "Accuracy"
  bottom: "ip2"
  bottom: "label"
  top: "accuracy"
  include {
    phase: TRAIN
  }
}
layer {
  name: "loss"
  type: "SoftmaxWithLoss"
  bottom: "ip2"
  bottom: "label"
  top: "loss"
}

solver:

# reduce learning rate after 120 epochs (60000 iters) by factor 0f 10
# then another factor of 10 after 10 more epochs (5000 iters)

# The train/test net protocol buffer definition
net: "cifar10_full_train_test.prototxt"
# test_iter specifies how many forward passes the test should carry out.
# In the case of CIFAR10, we have test batch size 100 and 100 test iterations,
# covering the full 10,000 testing images.
test_iter: 200
# Carry out testing every 1000 training iterations.
test_interval: 1000
# The base learning rate, momentum and the weight decay of the network.
base_lr: 0.0001
momentum: 0.9
weight_decay: 0.004
# The learning rate policy
#lr_policy: "multistep"
#gamma:0.1
#stepvalue:5000

lr_policy: "inv"
gamma: 0.0001
power: 0.75

# Display every 200 iterations
display: 200
# The maximum number of iterations
max_iter: 100000
# snapshot intermediate results
snapshot: 10000
#snapshot_format: LMDB
snapshot_prefix: "cifar10_full"
# solver mode: CPU or GPU
solver_mode: GPU
type:"SGD"

截图:

CIFAR-10模型训练python版cifar10数据集 在之前的博客中已经对CIFAR-10做了整体的解析,但是目前从tensorflow/models/tree/master/tutorials/image/cifar10中下载下来,运行cifar10_train.py后训练的是binary(适用于C语言)版的数据集。 那么想训练CIFAR-10 python version数据集该怎么修改代码呢? 其实主要需要修改的部分是cifar10_inp 阅读详情

相关推荐

【信息科学与工程学】计算机科学与技术——第七十七篇 系统架构设计02

编号类型模型配方企业资本运作的方法/规则/条件/依据及所有的步骤(​风险处理/异常处理/危机应对关联知识法律法规和裁决依据​​由发起人(通常是知名投资人、投行或产业资本)先设立一个只有现金、无实际业务的特殊目的收购公司(SPAC),通过IPO募集资金并在交易所上市。然后在规定时间内(通常24个月)寻找一家非上市公司进行合并(De-SPAC),使目标公司迅速实现上市,规避传统IPO的复杂流程和不确定性。1.:在开曼或特拉华注册空壳公司,注入少量种子资金。2.

weixin_49199313的博客 310

AlexNet训练和测试CIFAR10

使用AlexNet训练和测试CIFAR10,最终测试精度为88.99%

2401_87137707的博客 1032

STM32F103C8T6+TB6612驱动直流电机全攻略(附PWM调速代码)

本文提供了一份基于STM32F103C8T6微控制器和TB6612驱动模块的直流电机驱动完整解决方案。详细解析了硬件连接、STM32CubeMX配置、HAL库驱动代码编写,并附带了PWM调速代码实现。内容涵盖从基础原理到实战调试的全过程,旨在帮助开发者快速构建稳定、可精准调速的电机控制系统,适用于智能车、机器人等嵌入式项目。

weixin_29181861的博客 586

【代码学习】读取和训练cifar10

训练cifar10的代码

weixin_36692485的博客 824

【UE5】UE5 Dedicated Server专用服务器与网络同步

这篇文章是个人在学习UE4的网络同步方面的内容的一些记录,因为UE5出来了,顺带也一起熟悉熟悉UE5,所以也就直接使用UE5来实践了。说句实在话,UE4网络同步这块确实挺难的,我自己在网上搜索的博客的内容要么停留在很浅层面只搭建一个ds服务器,要么就直接深入源码去剖析UE4的网络机制,处在中间层面的内容少之又少,不得不自己好一阵研究,强烈推荐这几位博主的博文,我在学习的过程中也从中受益匪浅。 Ken_An、风蚀之月、 刘东无敌还有我师傅推荐给我的一本关于UE4网络的PDF。 一、什么是Dedicated

Goulandis 3万+

统信UOS开发环境支持Java

集成了JDK和多种IDE,为开发者提供了从代码编写、编译、调试到部署的一站式开发解决方案。

RZer的博客 2254

caffe学习(五):cifar-10数据集训练及测试(Ubuntu)

简介CIFAR-10数据集包括由10个类别的事物,每个事物各有6000张彩色图像,每张图片的大小是32*32。 整个数据集被分成了5个训练集和1个测试集,各有10000张图片,即50000张图片用于训练,10000张图片用于测试(交叉验证)。 网站链接:CIFAR-10下载数据注意:默认用$CAFFE_ROOT表示caffe的根目录。 输入指令:cd $CAFFE_ROOT ./data/

hongbin_xu的博客 9089

unet学习笔记(milesial/Pytorch-UNet)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 unet学习笔记(milesial/Pytorch-UNet)原理讲解unet_parts.py内容predict.py内容 所用到的代码Pytorch-UNet/predict.py at master · milesial/Pytorch-UNet ·GitHub 原理讲解 蓝/白色框表示 feature map; 蓝色箭头表示 3x3 卷积,用于特征提取; 灰色箭头表示skip-connection,用于特征融合; 红色箭头.

weixin_67138138的博客 2553

Cifar-10数据集的训练与测试

开发环境:ubuntu14.04+caffe(cpu) 参考博客:http://blog.csdn.net/hongbin_xu/article/details/76407581 1.简介  Cifar-10由60000张32*32的RGB彩色图片构成,共10个分类。50000张训练,10000张测试(交叉验证)。这个数据集最大的特点在于将识别迁移到了普适物体,而且应用于多分类(姊妹

BEHIND_YOU的专栏 6011

当版图同学只给GDS文件时,我是这样用Calibre PEX和Cadence做后仿真的(保姆级避坑)

本文详细介绍了在模拟IC设计中,当仅获得GDS文件时,如何利用Calibre PEX和Cadence进行高效后仿真的完整流程。涵盖从寄生参数提取到Spectre模型创建的实战技巧,特别针对版本兼容性、文件独立性和参数可调性等常见问题提供解决方案,帮助工程师规避协作中的典型陷阱。

weixin_42556197的博客 242

皮肤病识别 - 使用DenseNet或EfficientNet模型在ISIC数据集上进行皮肤病识别任务

在本篇博客中,我们探讨了如何使用 DenseNet 和 EfficientNet 模型在 ISIC 数据集上进行皮肤病识别任务。我们加载了数据集,并进行了预处理。然后我们使用 Keras 构建了两个不同的模型,并训练和评估了它们。最后,我们使用训练好的模型对新的皮肤病图像进行了预测。

斌擎科技 1305

CIFAR10数据集训练及测试

基于pytorch搭建CIFAR10网络模型后进行训练和预测。

cy364328541的博客 7943

DO-178C详解:机载软件开发、验证与适航标准指南

DO-178C将软件划分为五个等级(A到E),这些等级是基于失效状态对航空器安全的影响而定。

qq_41854911的博客 2848

将CIFAR10数据集拆分为train、val以及test

import cv2 import numpy as np from pathlib import Path from tqdm import tqdm import pickle #先读标签 with open('cifar-10-batches-py/batches.meta', 'rb') as fo: dict_meta = pickle.load(fo, encoding='b...

coolsunxu的博客 2869

使用Qt Creator自带的Qt Designer构造UI界面流程总结

在本文中,我们将总结使用Qt Creator自带的Qt Designer构造UI界面的流程。在对话框中,您可以选择一个控件的信号,然后将其连接到另一个控件的槽。例如,您可以将按钮的点击信号连接到一个槽函数,以响应按钮的点击事件。右键单击窗口设计器中的空白区域,选择适当的布局管理器,如水平布局、垂直布局或网格布局。在Qt Designer中,您可以使用各种预定义的UI控件来设计应用程序的界面。现在,您可以在应用程序的源代码中使用生成的UI界面。在您的源文件中,包含相应的头文件,然后创建一个UI界面的实例。

cl6789的博客 1393

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Caffe学习笔记(三):cifar10_quick_train_test.prototxt配置文件分析

转载请注明作者和出处:http://blog.csdn.net/c406495762运行平台: Ubuntu:14.04

Jack-Cui 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

CIFAR10测试集推理

使用现有模型对CIFAR10测试集进行推理

YZBFOREVERNB的博客 303

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

CIFAR-10 训练与测试

CIFAR-10 训练

Quinn07的博客 1719

cifar10神经网络训练测试及代码解析

cifar10神经网络训练测试及代码解析

awakeljw的博客 3227

theano-xnor-net代码注释5 cifar10_test.py

import sys, os, time import argparse import lasagne import numpy as np import theano import theano.tensor as T import cPickle, time import inf_layers from fxp_helper import convert_fxp_format, fixed_po

一呆飞仙的博客 852

CIFAR-10 简单分类

# 加载数据及预处理 import torch as t import torchvision as tv import torchvision.transforms as transforms from torchvision.transforms import ToPILImage from torch.autograd import Variable show = ToPILImage() #可以把tensor转为image # 第一次运行程序torchvision会自动下载CIFAR-10数据集

awdfggg的博客 637

机器学习-学习笔记 Cifar10(普适物体识别)

Cifar10Cifar10是Caffe自带Demo里的一个数据集,我们先按照之前的MNIST来进行下载数据集,并且进行训练。下载数据集有了上次MNIST的例子,这次就很简单啦~ 首先,我们需要运行data/cifar10/get_cifar10.sh./data/cifar10/get_cifar10.sh运行后会下载一些数据,放在examples下。我们先看看examples/cifar10下

一名小学生的辛酸奋斗史 2599

制作自己的数据(cifar-10)-python

CIFAR-10 介绍   该数据集共有60000张彩色图像,这些图像是32*32,分为10个类,每类6000张图。这里面有50000张用于训练,构成了5个训练批,每一批10000张图;另外10000用于测试,单独构成一批。测试批的数据里,取自10类中的每一类,每一类随机取1000张。抽剩下的就随机排列组成了训练批。注意一个训练批中的各类图像并不一定数量相同,总的来看训练批,每一类都有5000张...

hanlinger_的博客 1723

卷积神经网络:CIFAR-10训练和测试(单块GPU)

 正好闲暇,将前段时间搁浅的官方cifar-10的例子运行了一遍。我只有一个GPU,所以并没有完全照搬官方的代码, 而是在此基础上,结合自己的理解,对代码进行了修改,总共有三个子文件,每个文件具体作用如下表所示。 文件 作用 cifar10_input.py 读取本地CIFAR-10的二进制文件格式,定义函数distorted_inputs获得训练数据和inputs函数获取测试数...

陶将的博客 1万+

Caffe中使用Python脚本在cifar10数据集上测试模型

除了使用caffe的shell命令外,还可以调用caffe的python接口来测试数据集。本文测试的模型是squeezenet,测试的数据集是cifar10,cifar10_test_lmdb中有10000张图片。大小是3X32X32。 import numpy as np import lmdb import sys import time import pdb sys.path...

coderyyc的博客 423

使用python对cifar10数据集的python读取

关是读取数据,对于小白来说就花了不少时间,来总结以下。 首先你的数据从网上下的,一定要看清楚对于的是什么版,我就在这上面吃了大亏,之前是用的cifar10的模块,用的别人的包自动下载的,得到的是Bin文件,这个是二进制的文件,试用于c语言的,结果我用Python的pickle包Load半天老是出问题。 数据集下载的网址是:http://www.cs.toronto.edu/~kriz/cifa...

Wisley的读书笔记分享 6522
上一篇: mysql
下一篇: 基于自制数据集的MobileNet-SSD模型训练
LBJ_qin
博客等级 码龄9年 3粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值