Pytorch深度学习——Kaggle网站中泰坦尼克号作业(B站刘二大人P8作业)

泰坦尼克号生存预测 (Logistic and KNN) 从Kaggle官网下载数据:train 、test。 **赛事描述:** - 泰坦尼克号的沉没是历史上最臭名昭著的沉船之一。1912年4月15日,泰坦尼克号在处女航时与冰山相撞沉没,2224名乘客和船员中有1502人遇难。这一耸人听闻的悲剧震惊了国际社会,并导致更好的船舶安全法规。船难造成如此巨大的人员伤亡的原因之一是船上没有足够的救生艇供乘客和船员使用。虽然在沉船事件中幸存下来是有运气因素的... 阅读详情
AI摘要

本文介绍了一个使用PyTorch实现的泰坦尼克号生存预测模型。通过独热编码处理特征,并采用两层神经网络进行训练。利用BCELoss作为损失函数,SGD优化器进行参数更新。

 

目录

1  准备工作

2  具体代码

2.1  准备数据集

2.2  定义模型

2.3  定义损失函数和优化器

2.4  训练

2.5  测试

2.6  完整代码

3  注意


 

1  准备工作

       先到Kaggle官网下载训练集和测试集,将数据集和测试集直接放在代码文件同路径下:如图所示:

         Kaggle网址如下:泰坦尼克号 - 来自灾难|的机器学习卡格尔 (kaggle.com)

2  具体代码

2.1  准备数据集

# 准备数据集
class TitanicDataset(Dataset):
    def __init__(self, filepath):
        xy = pd.read_csv(filepath)
        # xy.shape()可以得到xy的行列数
        self.len = xy.shape[0]
        # 选取相关的数据特征
        feature = ["Pclass", "Sex", "SibSp", "Parch", "Fare"]
        # np.array()将数据转换成矩阵,方便进行接下来的计算
        self.x_data = torch.from_numpy(np.array(pd.get_dummies(xy[feature])))
        self.y_data = torch.from_numpy(np.array(xy["Survived"]))

    # getitem函数,可以使用索引拿到数据
    def __getitem__(self, index):
        return self.x_data[index], self.y_data[index]

    # 返回数据的条数/长度
    def __len__(self):
        return self.len


# 实例化自定义类,并传入数据地址
dataset = TitanicDataset('train.csv')
# num_workers是否要进行多线程服务,num_worker=2 就是2个进程并行运行
# 采用Mini-Batch的训练方法
train_loader = DataLoader(dataset=dataset, batch_size=1, shuffle=True, num_workers=0)

2.2  定义模型

# 定义模型
class Model(torch.nn.Module):
    def __init__(self):
        super(Model, self).__init__()
        # 要先对选择的特征进行独热表示计算出维度,而后再选择神经网络开始的维度
        self.linear1 = torch.nn.Linear(6, 3)
        self.linear2 = torch.nn.Linear(3, 1)

        self.sigmoid = torch.nn.Sigmoid()

    # 前馈
    def forward(self, x):
        x = self.sigmoid(self.linear1(x))
        x = self.sigmoid(self.linear2(x))

        return x

    # 测试函数
    def test(self, x):
        with torch.no_grad():
            x=self.sigmoid(self.linear1(x))
            x=self.sigmoid(self.linear2(x))
            y=[]
            # 根据二分法原理,划分y的值
            for i in x:
                if i >0.5:
                    y.append(1)
                else:
                    y.append(0)
            return y

# 实例化模型
model = Model()

2.3  定义损失函数和优化器

# 定义损失函数
criterion = torch.nn.BCELoss(reduction='mean')
# 定义优化器
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)

2.4  训练

# 防止windows系统报错
if __name__ == '__main__':
    # 采用Mini-Batch的方法训练要采用多层嵌套循环
    # 所有数据都跑100遍
    for epoch in range(100):
        # data从train_loader中取出数据(取出的是一个元组数据):(x,y)
        # enumerate可以获得当前是第几次迭代,内部迭代每一次跑一个Mini-Batch
        for i, data in enumerate(train_loader, 0):
            # inputs获取到data中的x的值,labels获取到data中的y值
            x, y = data
            x = x.float()
            y = y.float()
            y_pred = model(x)
            y_pred = y_pred.squeeze(-1)
            loss = criterion(y_pred, y)
            print(epoch, i, loss.item())
            optimizer.zero_grad()
            loss.backward()
            optimizer.step()

2.5  测试

# 测试
test_data=pd.read_csv('test.csv')
feature = ["Pclass", "Sex", "SibSp", "Parch", "Fare"]
test=torch.from_numpy(np.array(pd.get_dummies(test_data[feature])))
y=model.test(test.float())

# 输出预测结果
output=pd.DataFrame({'PassengerId':test_data.PassengerId,'Survived':y})
output.to_csv('my_predict.csv',index=False)

2.6  完整代码

import numpy as np
import pandas as pd
import torch
from torch.utils.data import Dataset, DataLoader


# 准备数据集
class TitanicDataset(Dataset):
    def __init__(self, filepath):
        xy = pd.read_csv(filepath)
        # xy.shape()可以得到xy的行列数
        self.len = xy.shape[0]
        # 选取相关的数据特征
        feature = ["Pclass", "Sex", "SibSp", "Parch", "Fare"]
        # np.array()将数据转换成矩阵,方便进行接下来的计算
        # 要先进行独热表示,然后转化成array,最后再转换成矩阵
        self.x_data = torch.from_numpy(np.array(pd.get_dummies(xy[feature])))
        self.y_data = torch.from_numpy(np.array(xy["Survived"]))

    # getitem函数,可以使用索引拿到数据
    def __getitem__(self, index):
        return self.x_data[index], self.y_data[index]

    # 返回数据的条数/长度
    def __len__(self):
        return self.len


# 实例化自定义类,并传入数据地址
dataset = TitanicDataset('train.csv')
# num_workers是否要进行多线程服务,num_worker=2 就是2个进程并行运行
# 采用Mini-Batch的训练方法
train_loader = DataLoader(dataset=dataset, batch_size=1, shuffle=True, num_workers=0)


# 定义模型
class Model(torch.nn.Module):
    def __init__(self):
        super(Model, self).__init__()
        # 要先对选择的特征进行独热表示计算出维度,而后再选择神经网络开始的维度
        self.linear1 = torch.nn.Linear(6, 3)
        self.linear2 = torch.nn.Linear(3, 1)

        self.sigmoid = torch.nn.Sigmoid()

    # 前馈
    def forward(self, x):
        x = self.sigmoid(self.linear1(x))
        x = self.sigmoid(self.linear2(x))

        return x

    # 测试函数
    def test(self, x):
        with torch.no_grad():
            x=self.sigmoid(self.linear1(x))
            x=self.sigmoid(self.linear2(x))
            y=[]
            # 根据二分法原理,划分y的值
            for i in x:
                if i >0.5:
                    y.append(1)
                else:
                    y.append(0)
            return y

# 实例化模型
model = Model()

# 定义损失函数
criterion = torch.nn.BCELoss(reduction='mean')
# 定义优化器
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)

# 防止windows系统报错
if __name__ == '__main__':
    # 采用Mini-Batch的方法训练要采用多层嵌套循环
    # 所有数据都跑100遍
    for epoch in range(100):
        # data从train_loader中取出数据(取出的是一个元组数据):(x,y)
        # enumerate可以获得当前是第几次迭代,内部迭代每一次跑一个Mini-Batch
        for i, data in enumerate(train_loader, 0):
            # inputs获取到data中的x的值,labels获取到data中的y值
            x, y = data
            x = x.float()
            y = y.float()
            y_pred = model(x)
            y_pred = y_pred.squeeze(-1)
            loss = criterion(y_pred, y)
            print(epoch, i, loss.item())
            optimizer.zero_grad()
            loss.backward()
            optimizer.step()

# 测试
test_data=pd.read_csv('test.csv')
feature = ["Pclass", "Sex", "SibSp", "Parch", "Fare"]
test=torch.from_numpy(np.array(pd.get_dummies(test_data[feature])))
y=model.test(test.float())

# 输出预测结果
output=pd.DataFrame({'PassengerId':test_data.PassengerId,'Survived':y})
output.to_csv('my_predict.csv',index=False)

3  注意

  1. One-Hot-Ecoding(独热编码):在本作业中分类特征是离散的,这样的特征处理并不能直接放入机器学习算法中,因为,分类器通常数据是连续且有序。所以我们需要先把我们选择的特征进行独热编码,将特征用0,1数字表示,变得有序,在输入到算法中进行训练;更多的独热编码内容可以见以下链接:机器学习特征处理——独热编码(One-Hot Encoding) - 简书
  2. 在定义函数的时候,要先对选择的特征进行独热表示计算出维度,而后再选择神经网络开始的维度。

本文代码参考了《PyTorch深度学习实践》-刘二大人 泰坦尼克号作业_不废江流的博客-优快云博客_pytorch 泰坦尼克

 

泰坦尼克号生存率预测 对泰坦尼克号乘客生存率预测,实现可视化。 阅读详情

相关推荐

零基础转行数据科学:14周实战入行路径图

数据科学不是高深数学,而是将业务问题转化为可验证数据结论的能力。其核心原理在于数据清洗、业务翻译与证据交付的闭环实践,技术价值体现在快速支撑决策、降低试错成本、提升跨部门协作效率。典型应用场景包括电商归因分析、用户行为洞察、本地生活运营优化等。尤其对非计算机背景、无实习经历的转行者而言,真实项目驱动的学习路径比学历堆砌更高效——如用Pandas处理混乱订单字段、用SQL回答‘哪家奶茶店复购率更高’、用Tableau制作HR能直接转发的销售看板。关键能力锚点正是数据清洗实战力与业务问题翻译力。

weixin_30847865的博客 500

泰坦尼克号生存预测(超详细)

这是自己做的第一个python关于数据处理的项目,主要过程包括数据预处理、特征提取、特征选择、模型构建与求解,每一部分都经过自己的分析和总结。 第二部分:泰坦尼克号生存率预测 一、实验目的 通过数据堆叠、数据清洗、特征提取、特征选择、构建模型等方法,实现对泰坦尼克号生存人数的预测。 二、实验内容 1、提出问题 2、理解数据 3、数据清洗 4、特征提取 5、特征选择 6、构建模型 7、方案实施 三、实验过程记录 1、提出问题 已给的数据包含训练数据和测试数据,其中训练数据维度为 891 12, 测试数据集维度

s_m_c的博客 7万+

kaggle泰坦尼克号

本文前部分参考简书:https://www.jianshu.com/p/06c2ee7e5c68 后半部分对比逻辑回归,随机森林、XGBOOST常见算法的分类准确度。 概述 1912年4月15日,泰坦尼克号在首次航行期间撞上冰山后沉没,2224名乘客和机组人员中有1502人遇难。沉船导致大量伤亡的原因之一是没有足够的救生艇给乘客和船员。虽然幸存下来有一些运气因素,但有一些人比其他人更有可能生...

a_1b2c3_123的博客 1531

机器学习入门之泰坦尼克号预测存活情况(Taggle)

目录前言:介绍:过程:提出问题:理解数据:数据清洗:1、数据预处理2、 特征提取介绍分类数据:有直接类别的性别(Sex)登船港口(Embarked)客舱等级(Pclass)分类数据:字符串类型姓名(Name)客舱号(Cabin)建立家庭人数和家庭类别(Family)结果:3、特征选择构建模型1、建立训练数据集和测试数据集2、 选择机器学习算法3、训练模型评估模型方案实施得到预测结果上传到Kaggle评估模型方案实施得到预测结果上传到Kaggle 前言: 本文中的项目是Taggle的入门比赛项目,旨在让大家对

fayoung3568的博客 7980

Kaggle泰坦尼克号生存预测挑战——数据分析代码实现

Kaggle泰坦尼克号生存预测挑战 这是kaggle上Getting Started 的Prediction Competition,也是比较入门和简单的新人赛,我的最好成绩好像有进入top8%,重新地回顾巩固一下这个比赛,我将分成三个部分: ** Kaggle泰坦尼克号生存预测挑战——数据分析 ** ** Kaggle泰坦尼克号生存预测挑战——特征工程 ** ** Kaggle泰坦尼克号生存预测挑战——模型建立、模型调参、融合 ** 先修知识 numpy pandas matplotlib s

qq_27851579的博客 1346

泰坦尼克号数据分析:机器学习生存预测

本文还有配套的精品资源,点击获取 简介:《泰坦尼克号数据分析》介绍了使用机器学习方法预测泰坦尼克号乘客生存情况的项目。文章详细探讨了数据集结构、数据预处理、特征工程、模型选择、评估指标、特征重要性以及结果解释等关键知识点,并讨论了在实际分析中的应用。通过这个项目,学习者可以掌握数据处理和机器学习技能,并应用于解决真实问题。 1. 泰坦尼克号数据集介绍 1.1...

weixin_35751412的博客 2186

PyTorch深度学习(B站刘二大爷)第八讲作业——Kaggle网站泰坦尼克号Titanic

PyTorch深度学习(B站刘二大爷)第八讲作业——Kaggle网站泰坦尼克号Titanic

By_Liu的博客 1482

Kaggle平台泰坦尼克号数据集+源代码+注释

Kaggle平台泰坦尼克号数据集+源代码+注释

Kaggle入门实战指南:从零到一掌握数据科学竞赛核心技巧

数据科学竞赛是机器学习实践的重要场景,其核心在于通过结构化流程解决实际问题。竞赛平台如Kaggle提供了从数据探索到模型部署的完整环境,参赛者需要掌握特征工程、模型验证等关键技术。特征工程决定了模型性能的上限,涉及缺失值处理、特征交叉和聚合等操作;而可靠的交叉验证策略则是评估模型泛化能力的基础,能有效防止过拟合。这些技术在实际业务中具有广泛应用价值,例如金融风控、推荐系统等场景。本文以Kaggle平台为例,系统介绍了如何避开常见陷阱、高效利用公开Notebook资源,并构建从数据预处理到模型集成的完整工作流

weixin_34411563的博客 390

用Arduino Mega2560和TB6612驱动MG513电机,我踩过的坑和最佳实践

本文详细介绍了使用Arduino Mega2560和TB6612驱动模块控制MG513直流电机的实战经验,包括硬件连接、PWM配置、编码器信号处理等关键技巧。通过优化电源系统、信号线布局和软件控制算法,有效解决了电机抖动、转速不稳等常见问题,为机器人底盘和自动化项目提供了可靠解决方案。

weixin_42520573的博客 202

手把手用ROS实现Ego-Planner动态避障:无人机撞树问题终结方案

本文详细介绍了如何在ROS和Gazebo仿真环境中,通过配置和调优Ego-Planner算法,实现无人机的动态避障功能。文章深入解析了其基于局部梯度优化的核心思想,提供了从环境搭建、参数详解到代码集成的完整实践指南,并分享了实战排错经验,旨在彻底解决无人机在复杂动态场景中的碰撞问题。

weixin_29031161的博客 1630

数据科学自学者生存指南:避开资源过载,构建可闭环学习路径

数据科学入门常被误认为是数学或编程能力的比拼,实则首要挑战在于信息过载与学习路径断裂。从‘概念理解’出发,需掌握统计建模、Python数据分析等基础原理;其技术价值在于将抽象算法转化为可执行、可验证的分析动作;典型应用场景包括业务指标归因、用户行为建模、结构化数据预测等真实工作流。本文聚焦‘可闭环学习资源’与‘任务驱动型路径’两大核心,结合Kaggle Learn沙盒环境、StatQuest视觉化讲解、Real Python生产级代码实践等高落地性工具,帮助零基础者在90分钟内跑通首个项目,并持续进阶至端到

weixin_38168786的博客 438

FPGA新手避坑指南:手把手教你搞定RTL8211千兆网PHY的时序配置(附Verilog代码)

本文详细解析了FPGA与RTL8211千兆网PHY芯片的时序配置问题,重点介绍了TXDLY/RXDLY引脚设置、FPGA发送端和接收端的Verilog实现,以及调试与验证的完整流程。通过硬件电路设计和代码示例,帮助开发者解决网络连接不稳定、丢包等常见问题,提升千兆网通信的稳定性。

weixin_28732953的博客 542

Python新手入门:从零到实战的系统学习路径与核心技能精讲

编程语言作为人机交互的桥梁,其核心价值在于将复杂逻辑转化为计算机可执行的指令。Python作为一种高级、解释型、通用的编程语言,因其语法简洁、可读性强而备受青睐。其设计哲学强调代码的优雅与明确,通过解释器逐行执行,实现了快速开发与灵活调试。在技术价值层面,Python凭借其丰富的标准库和庞大的第三方生态,极大地降低了开发门槛,提升了工程效率。应用场景覆盖Web开发、数据分析、人工智能、自动化脚本及网络爬虫等多个领域,成为跨行业解决问题的通用工具。本文聚焦于Python学习路径,系统讲解从环境搭建、基础语法到

cnracht8153的博客 412

全球半导体设备氧化钇熔射服务行业规模预测:预计未来六年CAGR为7.8%

本文将对“半导体设备氧化钇熔射服务”行业进行深度分析,探讨市场趋势的演变、核心竞争者的战略布局、供应链结构的内外特点、研发创新的最新进展、法规政策环境的适应性调整以及投资机会与风险评估。这一稳健的增长趋势表明半导体设备氧化钇熔射服务在电子行业中的重要性逐渐增强。由于全球对于高效、高精度和可靠的电子解决方案的需求增加,对能够提供这些功能的半导体设备氧化钇熔射服务的需求日益增长。由于半导体设备氧化钇熔射服务主要为就地服务型,其“配送”主要依赖于专业团队和技术设备的及时调配,强调服务的时效性和高质量。

CC1239777的博客 570

Unet++改进33:添加ConvolutionalGLU(2024最新改进方法)|紧凑的网络结构和高效的运算

由于残差连接的深度退化效应,许多依赖堆叠层进行信息交换的高效视觉变形模型往往不能形成足够的信息混合,导致视觉感知不自然。为了解决这个问题,在本文中,我们提出了聚合注意力,这是一种基于仿生设计的令牌混合器,它模拟生物中央凹视觉和连续眼运动,同时使特征映射上的每个令牌具有全局感知。此外,我们结合了可学习的令牌,与传统的查询和键交互,这进一步多样化了亲和矩阵的生成,而不仅仅依赖于查询和键之间的相似性。我们的方法不依赖于堆叠进行信息交换,从而有效地避免了深度退化,实现了自然的视觉感知。

AIcurator的博客 684

Python学习路径规划:从零基础到系统进阶的实战书单与学习方法

Python作为一门广泛应用于数据分析、Web开发和自动化脚本的编程语言,其学习路径的规划至关重要。理解Python基础语法是入门的第一步,它涉及变量、数据类型、条件循环和函数定义等核心概念。掌握这些原理后,学习者便能运用Python解决实际问题,其技术价值在于能够高效处理数据、构建应用和实现自动化。在应用场景上,Python在数据分析、机器学习、Web后端及运维自动化等领域均有出色表现。为了高效学习,选择一本能引导动手实践的书籍是关键,例如《Python编程:从入门到实践》这类强调项目驱动的教程,它能帮助

weixin_30466039的博客 450

Arduino 系列:Arduino Due 系列 (基于 ATSAM3X8E)_(5).电源管理与电压调节

电源管理与电压调节是确保嵌入式系统稳定性和可靠性的关键环节。通过合理选择电源输入方式、使用高效的电压调节器、设计适当的滤波电路和实施动态电源管理,可以有效提高系统的性能和寿命。同时,使用电源调试工具和编写调试代码,可以帮助开发者及时发现和解决问题。希望本文档能为使用 Arduino Due 的开发者提供有用的信息和指导。

2401_87715305的博客 1309

机器学习项目全流程指南:从问题定义到模型部署

机器学习并非孤立算法的堆砌,而是一套从数据中自动发现规律并用于预测决策的工程方法论。理解监督学习、无监督学习等核心范式,掌握特征工程、模型评估等关键环节,是构建可靠模型的基础。在真实业务场景中,模型训练仅占整个项目约20%的工作量,完整流程涵盖业务问题定义、数据采集清洗、特征构造、模型选择调优以及部署监控。以客户流失预测为例,从数据预处理到Scikit-learn管道构建,再到模型保存与上线,每一步都需遵循标准化实践以避免数据泄漏和过拟合。本文提供一份可操作的端到端项目检查清单,帮助学习者将零散知识点串联为

weixin_33857679的博客 342

RH850从0搭建Autosar开发环境【17】- Davinci Configurator之DCM模块配置详解(下)

RH850从0搭建Autosar开发环境【17】- Davinci Configurator之DCM模块配置详解(下)

weixin_42412049的博客 2379

《UDS协议从入门到精通》系列——图解0x22:通过ID读数据

如何向车辆ECU通过DID写入数据?有哪些注意事项?图解+示例带你快速上手0x22服务!!

车载系统攻城狮 8712

Python机器学习:从零基础到项目实战

当您翻开此书,您正踏入一场数据与智慧的修行。机器学习,并非冰冷的符码,而是机器模拟人类洞察世界的法门。本书将带您,以Python为舟,泛游于算法之海。我们不只传授“术”,更探求其后的“道”——从数据的生灭流转中观照规律,于模型的迭代演进里体悟得失。愿您合上书卷时,收获的不仅是驾驭数据的技能,更有一双洞悉复杂、化繁为简的“智慧之眼”。现在,让我们一同启程。

YunWisdom 968

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

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

泰坦尼克号生存预测

持续优化中~~~ 研究背景: 泰坦尼克号的沉没是历史上最臭名昭著的沉船之一。1912年4月15日,泰坦尼克号在处女航时与冰山相撞沉没,2224名乘客和船员中有1502人遇难。这一耸人听闻的悲剧震惊了国际社会,并导致更好的船舶安全法规。船难造成如此巨大的人员伤亡的原因之一是船上没有足够的救生艇供乘客和船员使用。虽然在沉船事件中幸存下来是有运气因素的,但有些人比其他人更有可能存活下来。比如妇女、儿童和...

weixin_30436101的博客 2961

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Kaggle之泰坦尼克号(1)

Kaggle之泰坦尼克号(1) 问题: 1912 年 4 月 15 日,泰坦尼克号沉没,船上的每个人都没有足够的救生艇,导致 2224 名乘客和船员中有 1502 人死亡。虽然幸存下来有一些运气因素,但似乎有些人比其他人更有可能幸存下来。 构建一个预测模型来回答这个问题:“什么样的人更有可能生存?” 使用乘客数据(即姓名、年龄、性别、社会经济阶层等) 可用数据集: 训练集(train.csv) 测试集(test.csv) 解决方案一: score:0.78468 Leaderboard:1700/142

君子之学必日新,日新者日进也。不日新者必日退,未有不进而不退者 2514

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Python数据分析案例08——预测泰坦尼克号乘员的生存(机器学习全流程)

Python进行泰坦尼克号数据集的预测机器学习流程。数据清洗、特征工程、模型选择优化评价等

weixin_46277779的博客 2万+

kaggle 泰坦尼克号生存预测——六种算法模型实现与比较

Hi,大家好,这是我第一篇博客。 作为非专业程序小白,博客内容必然有不少错误之处,还望各位大神多多批评指正。 在开始正式内容想先介绍下自己和一些异想天开的想法。 我是一名研究生,研究的方向是蛋白质结构与功能方向。在研究过程中发现生物系统是如此复杂,犹如一张网,信息流动,彼此相连,于是对复杂系统产生了兴趣,越发感觉生命的本质就是信息啊。后来看了一部电影叫做《创战纪》,男主的父亲便是创造了一个数...

aicanghai_smile的博客 4万+
上一篇: Pytorch深度学习——用Mini-Batch训练数据(B站刘二大人P8学习笔记)
下一篇: Pytorch深度学习——多分类问题、MNIST训练实例(B站刘二大人P9学习笔记)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习CV的研一小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值