• kaggle_competition1_CIFAR10_Reg


    一、查漏补缺、熟能生巧:
    1.关于shutil.copy或者这个copyfile的作用和用法:

    将对应的文件复制到对应的文件目录下

    2.关于python中dict的键值对的获取方式:
    1. #终于明白了,原来python中的键_值 对的用法就是通过调用dict.keys()和dict.values()实现的
    2. #print(labels.keys())
    3. #print(labels.values())
     3.关于python中set创建1个集合的函数用法:

    二、代码解读:
    1.引入必要的库:
    1. !pip install d2l
    2. import collections
    3. import math
    4. import os
    5. import shutil
    6. import pandas as pd
    7. import torch
    8. import torchvision
    9. from torch import nn
    10. from d2l import torch as d2l
     2.将trainLabel.csv文件中的"1,truck"这种每一行的数据存储到1个dict字典数组labels中,这个字典就是键keys是序号1-n,值values就是10个类别的str像“truck,dog”这种
    1. #这个部分是 从csv文件中读取到 所有 labels标签的信息:
    2. data_dir = '/kaggle/input/cifar-10/' #基本的文件路径值
    3. def read_csv_labels(fname):
    4. """读取fname来给标签字典返回一个文件名"""
    5. with open(fname, 'r') as f: #将这个filename文件打开作为对象f
    6. # 跳过文件头行(列名)
    7. lines = f.readlines()[1:]#lines是一个数组,每个元素是str类型“id ,label”
    8. tokens = [l.rstrip().split(',') for l in lines] #tokens是1个数组,将原来的line按照“,”分为id 和 label
    9. return dict(((name, label) for name, label in tokens)) #返回1个dict字典的数组,由
    10. labels = read_csv_labels(os.path.join(data_dir, 'trainLabels.csv'))
    11. #测试:(name , label)到底都是什么东西,
    12. #print(labels[0][0],' ',labels[0][1])
    13. print('# 训练样本 :', len(labels))
    14. print('# 类别 :', len(set(labels.values())))
    15. print(type(labels))

    3.对这个竞赛notebool本身提供的数据.zip进行解压到'/kaggle/working/'这个目录下面:
    1. !pip install py7zr
    2. import py7zr
    3. # 将文件从输入目录复制到当前工作目录下(如果需要)
    4. #!cp /kaggle/input/cifar-10/
    5. # 解压缩 .7z 文件
    6. with py7zr.SevenZipFile('/kaggle/input/cifar-10/train.7z', mode='r') as z:
    7. z.extractall()
    8. with py7zr.SevenZipFile('/kaggle/input/cifar-10/test.7z', mode='r') as z:
    9. z.extractall()
    4.关于python中collections库中的Counter函数的用法:

    ......剩下的代码解读已经在kaggle上面注释好了,以后复盘的时候再搬过来好了。。。

  • 相关阅读:
    单文件组件环境配置步骤---vue-cli版
    基于Yolov8网络进行目标检测(三)-训练自己的数据集
    c++入门(二)
    图论学习笔记 - 二分图的匹配
    Vulkan与OpenGL对比——Vulkan的全新渲染架构
    SpringBoot下关于SpringMVC拦截器的配置
    SMK电路板USBType-C插座CSS5324-3M01F CSS5324-0M02F连接器以及过压保护
    hdu 1052(田忌赛马 贪心算法,sort排序)
    微服务之配置中心
    单商户商城系统功能拆解28—营销中心—砍价活动
  • 原文地址:https://blog.csdn.net/xiao_ZHEDA/article/details/133313309