神经网络学习历程1-猫狗大战学习

2020.7.28星期2

error-1

这是第一次出现错误 ,该程序原文搬砖:https://blog.csdn.net/hjxu2016/article/details/105972691;			经过利用  在外单独输出地址的方式,经过一下 发现这是因为路径不对,不知道什么原因,所以有两个疑问:1,. 这个地址仅仅就是填写工程下的地址,还是电脑上的地址2.还有这个地址对于windows系统的困难之处是什么
1,. 这个地址仅仅就是填写工程下的地址,还是电脑上的地址2.还有这个地址对于windows系统的困难之处是什么
地址推测应该是电脑地址具体写法再考虑。具体写法参考下文技巧

发现的技巧:

需要的加载的文件或者其他的什么东西,直接将其放在工程文件下就行了。#注意路径问题:https://blog.csdn.net/weixin_34320724/article/details/92243308?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159599258519724846462393%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159599258519724846462393&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v3-1-92243308.pc_ecpm_v3_pc_rank_v3&utm_term=windows+pycharm%E8%B7%AF%E5%BE%84&spm=1018.2118.3001.4187

疑问:

还有就是如何生成自己的数据集呢。用什么样的方法方式。推广到磁电领域。

怎么处理查看定义好的函数的长度。####这种东西就不要多考虑了,定义好的 没有办法动他的呀

transforms函数怎么讲。不同读取还不一样吗

总结(29日)所有疑问在已经解决并且正进行项目中!!!

20200729星期3

冲鸭,今天的任务 让代码出现图片,然后冲向处理数据集。

error-1(BrokenPipeError)

在这里插入图片描述

经过搜索以及经过调试,这里可以确认是torch.utils.data.DataLoader参数设置出现了问题,将num_worker设置成0就行了,(线程问题

询问

在这里插入图片描述
冲鸭后边的这两两句话大体指的是什么意思。这里基本是属于一种狗屎没用,就是在内存里边的那种地址储存,代表就是这个项目储存在地址中。

询问-2
在这里插入图片描述

就是说这里按着循环的次数来讲的话,应该是会输出大约就是八次,但是为什么输出的照片会有几百份。。。
plt.imshow(np.transpose(img, [2, 1, 0]))
plt.show()#输出照片是这两句话的事情,和for循环没有半毛钱的关系。

处理数据分类的好收藏:

加载路径输出文件——创建件一个新文件夹,将文件存放进去文件即可。

关于分类照片的过程:

大体的过程就是:找到地址(注意windows的是/,然后就是for循环并且套用头文件进行判断,执行文件传送)

  1. os.listdir(path)#输出路径下所有文件的文件名
    2**. 遇到的问题就是:**我找不到合适的文件传送的函数,这个地方 shutil.move(源地址,加文件名称,新地址)不太明白不知道为什么不对。
    错误原因是在:
    path_cat_beforechange="F:/pythonfial/kenar/6156_9058_bundle_archive_djp/train/train/"没有加最后一个除号斜杠,所以加载出来的地址是不对的。地址问题
    shutil.move(‘原文件完整路径(带文件名)’,‘目标文件夹’)将文件夹的那个复制过来改成除号斜杠就行了。
    存储:python-opencv2 查询这个是干什么的,这个是用来处理图片的

根据路径输出文件名称

import os
path=“F:/pythonfial/kenar/6156_9058_bundle_archive_djp/train/train”
datanames = os.listdir(path)#读取路径下所有文件的文件名
print(datanames)
for i in datanames:#挨个输出文件
print(i)

python读写、创建文件、文件夹等等

超链接

存储:python-opencv2 查询这个是干什么的,

优秀论文推荐:

这里是数据加载的相关用法,觉得很棒就留下来了
https://blog.csdn.net/youzhizhe2014/article/details/103013540?biz_id=102&utm_term=python%E5%A4%84%E7%90%86%E6%95%B0%E6%8D%AE%E9%9B%86%E5%88%86%E7%B1%BB&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-103013540&spm=1018.2118.3001.4187

20200730/31星期四/五

#因为今天没有完成任务所以,所以30号基本灭有干活
先把存储:python-opencv2 运用在更改照片上,
第二部吞一个大头,将陈放师哥的代码跑起来,一句话一句话的查看,明白参数设置,看考自己的笔记,
师哥这个程序完成了所有,想法让他的代码配合猫狗数据集跑起来

python-opencv2 :
根据这两天的想法大致推断这是一个关于集中处理照片的一个集成包
cv2.imread(“图片的路径”, 打开方式)
1, 默认打开方式,加载彩色图像,任何图像的透明度都将忽略
0, 加载灰度图像
-1,加载图像,包括alpha通道
cv2.imshow(“窗口名称”,图片)
cv2.imwrite(“文件名”,要保存的图像)
cv2.imwrite(filename, img)img是numppy形式的。
师哥那里的程序分类有没有。

CV函数读取展示照片的一段程序:

连接:

import numpy as np
import cv2

img = cv2.imshow(‘picture.jpg’)#照片路径
cv2.namedWindow(‘image’)#设置一个输出窗口
cv2.imshow(‘image’, img) #显示窗口
cv2.waitKey(0)#延时等待 下一个键盘指令
cv2.destroyAllWindows()#cv2.destroyAllWindows()用来销毁所有已经创建的窗口, 如果需要销毁指定窗口使用cv2.destroyWindow()函数, 他接受一个表示窗口名字的名字。

import numpy as np
import cv2
from matplotlib import pyplot as plt

img = cv2.imread(‘messi5.jpg’,0)#读取这种东西是一样的
plt.imshow(img, cmap = ‘gray’, interpolation = ‘bicubic’)#第二个是颜色
plt.xticks([]), plt.yticks([]) # 隐藏x、y轴(可有可无)
plt.show()#这句话配合着第二句话一起的 ,这个输出的是所有的照片

环境错误以及问题

1.环境更新,会不会出现问题,#别更新pytorch其他一般不会有错
2.如果所有的工程使用一个环境会不会出现混乱,#基本没有问题
3.两个安装环境的包有什么区别#没有区别

环境配置自我总结:conda

建立新工程的时候下图这里可以直接使用环境在这里插入图片描述
建立新环境的规范:在anconda navigator中建立一个新的环境设置好名称什么的,
进入虚拟环境,使用 $ conda activate torch(环境)
根据需要的包进行安装就行 搜索anconda安装XXX包
退出虚拟环境,使用 $ conda deactivate

工程更改环境:
在file中的setting 中 project interpreter这里设置环境即可
在这里插入图片描述

陈放师哥代码

transforms.Normalize #transforms是专门用来针对照片处理的,然后呢normalize是专门用来归一化的
问题:
1.这里通道的数值是怎么来的,针对mean,std
2.为什么这里还有另一个归一化。totensor

3.为什么需要翻转

COMPOSE函数

加载mobileNETV2

参数这里是什么。

error-2

在这里插入图片描述
这里是真狗了,什么呀都是,不明白哪里不对。是没有torch包吗

#路径不对

问题

原来有cuda10.1直接安装10.0 ,需要直接删除吗,还是自动删除,会不会出现错误
狗屎啊 conda install pytorch torchvision cudatoolkit=10.0利用这个指令一直安装不上
线下安装包的话,去哪里下啊,清华源的可以吗

错误

在这里插入图片描述
在处理完了cuda10.0之后出现这个,最后一行的错误仍然是那个错误,这个错误我不解决了,问老师吧

#路径问题-不要带中文
#这种问题还没有解决,这种问题是windows 经常出现的

20200801周六

今天的任务仍然是跑起来代码程序,但是呢 有一个问题就是,网络的代码没看懂呢。

main文件的理解

加载数据集
(先设置参数(利用tramsforms),读取数据集,读取测试集,加载数据集,读取测试集)
加载网络(加载网络的这个过程我没看明白)
写一个main定义开始跑。
先训练, 再测试

看不懂的:

def shufflenet2(pretrained=False, **kwargs):这里是什么------加载网络呀;
具体内容看不明白啊,第一点:就是这里既然在另一个文件中,已经有网络结构了,那么后面跟的这个默认参数是干什么的呢,包括后边引用的时候,有一个很大的问题(,num_classes这个参数是怎么个意思)怎么对应上边的函
#夸格这个东西,有没有无所谓,主要是设计用来怕后面出现新的错误。

#训练模型中,
y_scores = []
y_true = []
train_loss1 = []
这几句有什么意思,是意味着定义一个变量吗?

4.for epochs in rang(epoch)为什么是这个写法,rang()得到的是什么,就是设置成长度吗。
6.训练的时候是一张一张的训练的吗。就是一次性输入多少张照片 #根据batch–size()
7.我把所有的文件全部由设置成GPU输出了 可以吗可以 带有 to(device)
8.那么需要吧所有画图相关的代码全部注释掉吗。#注释掉吧
9.那么下边关于输入的那个东西,有没有错呢
input_size = 224是不是代表Batch Size = 256,肯定不是啊。
反过来 batch size 这个数值在哪里呢,找到了
这个数字就是一次循环输出的数字的长度,循环多少次呢,这是公式根据计算出来的
10

error

在这里插入图片描述

error-2

查找是因为没有设置cuda变量,但是在那里设置呢。现在没事了,
这个cpu或者gpu设置到了循环里边,那种判断语句是怎么分析的呢,难道要每一次都判断一下的吗,
在这里插入图片描述
很简单就是把张量先转成CPU,连接

error-3

在这里插入图片描述#搜索解释说,显存不够用

函数解释

enumerate(train_loader):就是一个得到标签和元素的函数,索引就是第几个,带着就是了

心得

1.在学习代码的时候,在每一个部分都写一个标识用来,查看代码进行到了哪一步。
2.输入大小以及啥玩意之间的关系——超链接
3.可以利用GPU的计算量。
4.可以用GPU的地方:
1.prediction__true
2.网络
3.损失函数
4.输入的数据:测试和训练
5.jeputer可以看代码的
6.gpu_imgs.cpu()以及imgs.cuda()互换属性

后边任务

0801的问题以及错误#解决的了
0731的陈方师哥代码那里也没有解决的呢。#基本明白了
怎么用服务器跑。
1.登入浪潮服务器,申请自己的账户。
2.数据管理,传送tar形式的文件,设置GPU根据数据问题来计算
3.点击shell,进行输入地址乱七八糟的东西开始跑起来。
怎么换发动机

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值