DataLoadingandProcessingTutorialVitavi

1importos#路径组合2importtorch#is_tensor3importpandasaspd#读取csv4importnumpyasnp#ndarray,reshape,5fromtorch.utils.dataimportDataset,DataLoader#实现数据集和数据集的分组6fromskimageimportio#forimageio7importmatplotlib.pyplotasplt#forplotting8fromtorchvisionimporttransforms,utils#transforms.compose,utils.make_grid()9fromskimageimportio,transform#读取图片,transform.resize10importwarnings

panda:用于解析csv文件

scikit-iamge:读取图像和图像转换

os.path.join():把不同路径部分拼接在一起,并用/隔开,如果最后一个组分是“”,会在最后的路径名后加上/

自己的数据集类继承与dataset,必须满足

landmark的x,y与image的h,w顺序相反

numpy和torch的image的尺寸顺序不一样transpsoe(())要会用

magicmethod:__init__,__call__

fromsysimportargv

argvandinput()

thedifferencehastodowithwheretheuserisreuqiredtogiveinput.oneincommand,onewhenthisscriptisrunning

tensor.tolist(),tensor仅含一个值时,同item(),返回一个python数字,否则返回一个list

dict.items()返回的是key和value

pandas.DataFrame.as_matrix()返回ndarray

np.arrray()返回ndarray

assertisinstance(output_size,(int,tuple))

enumerate()返回的是一个iterableenumerate对象,参数必须是sequence或者iterable,里面是tuples

.transpose()numpy

whattodo:

处理csv文件,得到landmarks

landmarks与image结合,并进行transform,得到transformed_sample

用data_loader分成batch

howtodo:

sci什么的读取一下文件,转换成ndarray,把名字截掉,然后transpose为68by2(2为x,y坐标)

转换为sample需要一个class,继承data,class需要包含__init__(memoryefficient)和__getitem__,还要传一个transform对象,传参时根据路径读取一下图片,把image和landmark放到词典里,执行transform

python语法

classSingleton(object):_instance=Nonedef__new__(cls,*args,**kwargs):ifcls._instanceisNone:cls._instance=object.__new__(cls,*args,**kwargs)returncls._instances1=Singleton()s2=Singleton()print(s1)print(s2)cls代表需要被实例化的类

输出:

<__main__.Singletonobjectat0x7fdef58b1190><__main__.Singletonobjectat0x7fdef58b1190>还有工厂化,用到再说吧,留坑

torchvision.utils.make_grid(images_batch),把图片放到格子里,此时的image_batch是(B,C,W,H)的tensor,或者是相同尺寸图片的list,padding默认为2,pad_value默认为0

导入一张图片并输出:io.imread(img_name)和scipy.misc.face()

导入sci文件,输出{‘image':image,'sample':sample},pd.read_csv,frame.iloc,frame.as_matrix():

FaceLandmarkDataset

1、继承Dataset

2、实现__init__和__getitem__和__len__

3、__init__的参数为csv_file,root_dir,transform(可选),局部变量为landmarks_frame,root_dir,transform实现读取csv_file

4、__len__返回landmarks_frame的长度

5、__getitem__参数为idx,实现读取图片,截取对应的landmarks的坐标,转换为ndarray并转置,返回landmarks和image组成的词典。在getitem内实现数据的转变,而不是一次性读取所有的照片,节省内存

返回的landmarks是ndarray,图片也是ndarray

Transform

1、实现__init__和__call__,init设置变量,__call__传递样本

2、__init__的参数为int或者(int,int)计算output.size,call进行对sample进行对应的操作,并返回output(词典)

torchvision.transforms.Compose(transforms)将多个transform组合起来使用,transforms用[]括起来

transform里还要实现一个ToTensor的操作,把landmarks和images转换为Tensor

划分Batch,使用DataLoader,输入DataSet对象:

DataLoader,实现数据集的划分,传入dataset

fromtorch.utils.dataimportDataset,DataLoader

DataLoader可以迭代,支持map-style和iterable-style两种DataSet

对于map-style的dataset,每个batch也是一个词典,使用Key获得imagebatch和labelbatch

输出图片和landmarks

torchvison.utils.make_grid(),接收tensor,plt.imshow(grid),图片全框,padding默认为2

plt.scatter()接受的numpyarray

plt.需要的是np.ndarray,torchvison.utils.make_grid(),接收tensor

practice实现,读取faces图片和相应的csv保存的label,制作出DataSet,数据格式为tensor,transform使用torchvision里已经做好的

用到的画图:

plt.figure()

plt.imshow()

plt.scatter

plt.subpltot()至少3个参数,前两个控制几行几列,第三个控制子图位置

plt.tight_layout()

plt.title()

plt.axi()

plt.ioff

torchvsion.utils.make_grid,传进去的是n张tensor表示的图片,返回的仍然是tensor,用plt画图时需要先转换为numpy,并注意调整维度顺序。

THE END
1.因此在使用Visio之前,有必要来了解一下Visio支持绘制多种类型的图表,包括流程图、组织结构图、网络图、软件和系统架构图、项目管理图(如甘特图)、业务流程图(BPMN)、UML图(如用例图、类图、序列图等)、平面图、布局图、电气工程图、网站地图、时间线、泳道图、鱼骨图(因果分析图)、业务矩阵等。 https://www.jianshu.com/p/1940859e0daf
2.新作小懒不爱画图大师兄vison·3年前 LK7_·3年前 小懒不爱画图作者LK7_·3年前 08:44:35 FlashASer 06:13:33 FlashASer 10:59:36 Style3D-入门到精通 服装全品类虚拟建模 1762 02:02:41 Nomad潮玩入门课 1782 hill啦啦啦啦啦 数据可视化 1681 导视系统 111 ...https://www.zcool.com.cn/work/ZNTM5MzMyODA=.html
1.Visio教程:如何绘制专业图纸(visio怎么把图纸画)Microsoft Visio是一款专业的绘图工具,广泛用于制作流程图、组织结构图、网络图等。下面将为您详细介绍如何在Visio中绘制图纸。 1. 打开Visio并选择模板 启动Visio后,您会看到多种模板可供选择。这些模板包含了适合特定类型图表的形状和样式。根据您的需求选择一个模板,例如“基本流程图”。 http://visio.zaixianjisuan.com/jiqiao/visiojiao-cheng-ru-he-hui-zhi-zhuan-ye-tu-zhi.html
2.stablediffusion教程stablediffusion零基础学会用ControlNet将...有作图需求的朋友,比如你可以很快地画出一个线稿出来,但是要渲染成效果逼真的实景效果图,以前都是要花费不少功夫进行PS处理,或者是其他方式的3D处理。 现在AI时代,这件事情变得很简单了。大家看看下面这个效果,这是线稿图: 所有的AI设计工具,安装包、模型和插件,都已经整理好了,获取~ ...https://blog.csdn.net/2401_84760322/article/details/144129673
3.pythonvisomob649e8166c3a5的技术博客Python 是一种广泛使用的编程语言,以其简洁性和强大的功能而闻名。其中一个重要的应用领域是数据可视化,尤其是在数据分析和机器学习等方面。VISO 是 Python 中一种流行的可视化工具,允许用户快速创建交互式图表和图形。本文将介绍如何使用 VISO 创建可视化,并提供相应的代码示例。 https://blog.51cto.com/u_16175510/12669099
4.Visio软件下载,重塑视觉世界的科技巨献随着科技的飞速发展,Microsoft Visio软件已成为众多专业人士不可或缺的视觉工具,这款集流程图设计、模型构建与数据分析于一体的软件,以其强大的功能和卓越的使用体验赢得了全球用户的青睐,我们将为您详细介绍Visio软件的最新下载版本,带您领略科技如何改变生活,激发您的无限创意。 https://vip.taiyangzhuzhao.com/post/6210.html
5.FlowchartMakerandDiagrammingSoftwareMicrosoftVisioDoes the current version of Microsoft Visio support older versions, like Visio 2003? If we create a diagram in the current version, can we open it with an older version and vice versa? How do I protect my Visio files? What data sources can I link my diagrams to? https://products.office.com/en-us/visio/flowchart-software