zoukankan      html  css  js  c++  java
  • 1. 法宝函数、编译器的初级使用和使用Dataset

      本篇博客,主要记录学习pytorch 中常用的"法宝函数"、Pycharm、cmd、jupyter notebook 的使用比较,以及 pytorch 中 Dataset的基本使用。
    下面我主要从这三点进行介绍

    学习 python 的"法宝函数"

      python常常被戏称为胶水语言,以数量庞大、功能齐全的第三方库而出名;这也说明了python难以完全掌握,需要灵活使用帮助文档,这也是我介绍这一节的原因!
      这里,我主要介绍两个python自带的函数,dir() 函数,和 help()函数。
    下面,我们打开jupyter noteboook 运行一下子,查看效果:

              dir() 函数

      倘若你经常使用 windows 的cmd,那么你一定了解 dir 命令。说白了 dir就是用来显示当前目录下的文件信息(包括文件、函数、类等信息),python中的dir()函数也是如此,用于显示模块中的文件,或者是类内的函数。


              help() 函数

      help()函数主要是查看帮助文档,可以使函数的帮助文档,也可以是 类的帮助文档,甚至是模块的;当然了,使用help()往往是用于帮助我们理解类的继承,函数的功能以及调用方法。
    如下所示:




    同时 jupyter notebook 还支持使用 Dataset ?? 的形式来查看帮助文档



    Pycharm、cmd、jupyter notebook的使用比较

              pycharm

    使用pycharm书写文件往往是使用大的项目

              jupyter notebook

    使用块来进行运行,更加简洁明了,但是配置起来较为麻烦

              pycharm 上的 python console

    常常用于代码的调试,因为可以看到变量的类型和方法。因为之前的 pycharm 和 jupyter notebook 都比较常用,这里主要介绍一下 pycharm 下的 python console



    Dataset 读取数据集


    数据集的组织形式:

    1. 文件名就是label
    2. 直接 xml、json或者是xml

      没用过Dataset不用怕,首先查看他的帮助文档:


    根据帮助文档,知道继承这个抽象类需要做着几件事情


    from torch.utils.data import Dataset
    import os
    from PIL import Image
    
    
    class MyData(Dataset):
        def __init__(self, root_dir, label_dir):
            self.root_dir = root_dir
            self.label_dir = label_dir
            self.path = os.path.join(root_dir, label_dir)
            self.img_path = os.listdir(self.path)
    
        def __getitem__(self, idx):
            img_name = self.img_path[idx]
            img_path = os.path.join(self.path, img_name)
            img = Image.open(img_path)
            label = self.label_dir
            return img, label
    
        def __len__(self):
            return len(self.img_path)
    
    
    train_path = r"F:projectspycharmpytorch_dl	esthymenoptera_data	rain"
    label_ants = 'ants'
    label_bees = 'bees'
    data_ants = MyData(train_path, label_ants)
    data_bees = MyData(train_path, label_bees)
    print(len(data_bees))
    print(len(data_ants))
    data_all = data_ants + data_bees
    print(len(data_all))
    
    img_ant, label_ant = data_all[0]
    img_bee, label_bee = data_all[121]
    

    主要是使用了 os 库

    import os
    os.path.join() #用于路径连接,主要是解决 Linux 和windows下路径符号的问题
    os.listdir() #显示路径下的文件,结果是一个列表
    
    

    PIL中的Image类别

    Image.open()进行打开图片
    


  • 相关阅读:
    oracle mybatis 模糊查询
    IntelliJ IDEA各种引入jar包的方式及其关系
    eclipse中新建Java工程的三个JRE选项区别
    @Autowired注解和@resource注解的区别
    结合测试,黑盒测试
    Oracle左连接、右连接、全外连接以及(+)号用法
    samePropertyValuesAs()
    Collection.sort 的用法
    junit withcapture
    单元测试
  • 原文地址:https://www.cnblogs.com/lucky-light/p/15526385.html
Copyright © 2011-2022 走看看