• 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上面注释好了,以后复盘的时候再搬过来好了。。。

  • 相关阅读:
    Tableau:详细表达式(LOD表达式)的计算过程
    rsync同步目录脚本
    Kotlin的泛型约束
    【二分查找】【键值皆有序】1840最高建筑高度
    C语言数据结构Queue----循环队列
    实例060:字符串长度
    Python每日一练(牛客新题库)——第11天:循环语句
    UDP 协议详解
    在visual studio里安装Python并创建python工程
    【数据结构】哈希桶
  • 原文地址:https://blog.csdn.net/xiao_ZHEDA/article/details/133313309