Python深度学习_猫狗大战运行常见问题

用Ubuntu,在谷歌云端运行Keras中的猫狗大战数据的时候,由于数据不在Keras中,需要另外下载数据,将其挂载到云端时路径遇到的问题.

首先 4/FwG4ZsLR6Wx_37zJAGSXqHvtnaFSaEhSKpy8O_rECWVmItDGxaQuZCU 网站详细讲解了如何在云端挂载文件,这个时候

第一部分完成以后,就是第一大段为每一个机子分配GPU,然后再利用语句(*# 挂载Google driver,指定Google Drive云端硬盘的根目录,名为drive !mkdir -p drive  !google-drive-ocamlfuse drive)指定挂载的根目录为drive,这个时候notebook左边的files打开,会出现,三个文件夹,drive sample_data abc.json,代表挂载成功子啊云端,然后利用语句(# 指定当前的工作目录 # 此处为google drive中的文件路径,drive为之前指定的工作根目录,要加上   import os    os.chdir("./drive"))  目的指定当前的工作路径在drive下面,以后的运行的时候路径都要在这个drive下面,(这里就是路径问题,这里要理解清楚,不然后面的路径会错), 然后为了查看当前的工作路径,正确在当前路径下建立文件夹(print(os.getcwd())    base_dir = './code1'       os.makedirs(base_dir)) #python中对文件 / 文件夹的操作涉及到os模块和shutil模块  得到当前目录路径: os.getcwd()  返回指定目录path下的所有文件和目录名:  os.listdir(path),  最后打印出来的当前路径为content/drive在drive路径下,然后在这个路径下建立一个需要用的文件夹,因为在当前路径下不用重新写content/drive路径,直接建立新名字的文件夹.(os.chdir(Path) 方法用于改变当前工作目录到指定的路径,path指要切换到的路径)。

Python中os.mkdir()与os.makedirs()的区别及用法

代码中一开始使用的os.mkdir(path)一直报错,但是经过查询看到os.makedirs()的写法,突然感觉可能错误就在这里,结果一试发现,果不其然,以下为代码

  1. #-*-coding:utf-8-*-  
  2. import os   
  3. path_01 = 'Test\\path_01\\path_02\\path_03'   
  4. try:  
  5.     os.mkdir(path_01)  
  6.     print u'第一次创建成功!'  
  7. except:  
  8.     print u'第一次创建失败!'  
  9.     try:  
  10.         os.makedirs(path_01)  
  11.         print u'第二次创建成功!'  
  12.     except:  
  13.         print u'第二次创建失败!'  
  14. 运行结果:

    第一次创建失败!  

  15. 第二次创建成功!  

  16. os.mkdir()创建路径中的最后一级目录,即:只创建path_03目录,而如果之前的目录不存在并且也需要创建的话,就会报错。os.makedirs()创建多层目录,即:Test,path_01,path_02,path_03如果都不存在的话,会自动创建

  17. os.path.join(path1[, path2[, ...]])

    把目录和文件名合成一个路径

  18. train_dir = os.path.join(base_dir, 'train')    #把base_dir, 'train'合成一个路径,这里会自动创建train文件夹?? 把后面#os.mkdir(train_dir) 这句话去掉,不用再重新建一个train文件夹,上面哪句话自动创建了???
  19. train = os.path.join(base_dir,‘train’)

    train -------> ‘//home//workspace//wanghao//Demo2//CVD/train’
    类似于path.join()类似于字符串拼接功能,用来创建地址的路径      所以#os.mkdir(train_dir) 这句话去掉

  20. import os

        BASE_DIR = os.path.dirname(__file__) #获取当前文件夹的绝对路径

        print BASE_DIR

        file_path = os.path.join(BASE_DIR, 'Test_Data'#获取当前文件夹内的Test_Data文件(如果没有这个文件会自动创建)

        Test_Data = open(file_path, "r"#读取文件

        for line in Test_Data:

            print line

        Test_Data.close() #关闭文件

你可能感兴趣的:(Python深度学习_猫狗大战运行常见问题)