版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第一章绪论 第一章绪论1.1选题背景、目的及意义1.1.1选题背景于2015年11月,大名鼎鼎的Google发布了TensorFlow的白皮书,并在很多人的关注与见证下将TensorFlow开源,从那时到2019年6月,Google再次发布更加强大与更加丰富TensorFlow2.0Beta版本。在这几年间给我们带来很多新奇,并且具体的体验。在各行各业中TensorFlow都可以帮助他们,比如科技研究者、工程师、医生、学生、艺术家们,都能通过它帮助到自己的工作与生活,从语言翻译、皮肤癌症早期诊断、预防糖尿病等。可能更加直观的就是2016年3月AlpahaGOVSLee以4:1战胜韩国棋手李世石,并且在不久后AlphahaGoMaster以3:0横扫中国棋手柯洁,正式证明了机器在围棋这个领域霸权,而这一切都离不开TensorFlow的推动。而我国于2019年开始的垃圾分类也是一大实事热点,对于垃圾分类来说我国只能说处于起始阶段,关于垃圾分类迎来“扫盲”式的知识普及,但是仍然让很多人非常困扰头疼,容易犯错。于是我萌生利用TensorFlow去简单进行垃圾分类的想法,这是一个系统,目前先想要在电脑端上进行实现,再然后可以在移动端有移植,能够帮助人们在大多数情况下进行垃圾类别的识别。1.1.2选题目的与意义本课题旨在利用强大的机器学习及深度学习框架——TesnsorFlow对我国现在正在逐步推进垃圾分类进行一定帮助,实际就是TensorFlow更多应用的一些实现。TensorFlow得益于在这几年间一步步布局的庞大的生态与巨大的影响力,它可以提供整个生命周期中的深度学习与人工智能服务,其中包括了数据的预处理、训练、可视化、分布式训练、模型部署到移动端等。但是用去实现垃圾分类的方法,这方面算是比较空缺的阶段,实际上通过一段的学习是能够自主完成垃圾分类的,但是这对于一个城市完全适应或者说一个国家去普及相关知识的过程来说,需要一定时间,所以,有该系统的帮助是能够加快并且舒适的去度过这个过程的。1.2国内外相关研究及概况因为国内垃圾分类正处于整个的开始阶段,所以先把目光放于已经垃圾分类基本已经成为人民意识的国家。美国纽约,提到这个被誉为世界之都的城市,现在的人很难将这座高楼密布拥有最庞大的CBD群的大都市与满是污水、臭气蔓延的垃圾城市联系在一起。但事实是,在19世纪末时,纽约的确是世界上最杂乱、肮脏的城市之一,一直到1895年纽约史上第一个垃圾回收和分类系统被那时街道卫生的指挥官韦林创建,才好转起来。作为日本最大的城市东京,同样是人山人海的大都市也曾深受垃圾围城和环境污染困扰。于1970年底,日本国会全面去修改《清扫法》[1],制定《废弃物处理法》,以遏制废弃物排放,对废弃物进行适当的分类、保管、收集、运输、再生和处理,终于东京城市环境大幅改善[2]。在国内来说,垃圾分类是垃圾处理流程中的基础环节,但由于配套设施的不完善与人们的垃圾分类意识和能力有所不足,目前来说开展的并不理想,收集到不少的“分类好的垃圾”仍然是混合垃圾[2]。也就是说,垃圾分类必须基于科学化与精细化治理。科学化,指宏观上的合理设计;精细化,指因地制宜,简便易行。所以即使是现在垃圾分类实行的很好的国家城市,当年进行进行垃圾分类推行的时候也花费了大量的时间人力物力。时代的发展给了我们另外的视野和条件,可以利用现代更新的科技与知识去解决同样的问题,会更快,更好。利用TensorFlow在图像识别系统中的应用[,打造一个帮助我们分类的方便的系统能够给垃圾分类工作的普及提供不小的助力,这也是本系统设计的初衷。1.3本文主要工作内容主要内容包括以下:第一章:简单地介绍了使用TensorFlow实现垃圾分类的需求与垃圾分类推行使用TensorFlow的原因和国内外垃圾分类的背景与趋势。第二章:主要关于本文中使用的关键技术(TensorFlow)以及相关的知识,以及如何使用这个技术去实现目的即垃圾分类。第三章:主要介绍了系统的需求分析与系统功能的划分。第四章:详细的介绍整个系统实现的流程和所需要用到的技术,用到的知识点,并且如何去实现这个系统第五章:主要测试了该系统对于识别的精度,广度方面是如何的。第六章:对于本文的一个大总结。 第二章关键技术与工具介绍2.1TensorFlow2.1.1TensorFlow基本介绍TensorFlow™是一个采用数据流图(dataflowgraphs),用于数值计算的开源软件库。这是它的官方的描述,也可以的理解为,这是一个开源工具主要用于人工智能相关方面的研究工作。它是由大名鼎鼎的Google大脑小组[3]研发,并用于深度神经网络,机器学习及其相关方面的研究,但是它具有强大的系统通用性,所以它甚至可以被广泛应用于其他计算领域。2.1.2TensorFlow的应用实际上现在TensorFlow的应用可以说是已经深入到你的生活中的每一处角落。它支持多种硬件平台:它可以支持CPU、GPU混合搭建的数据中心的训练平台,它也可以支持将数据中心训练好的模型,相对可以方便简易的部署到不同的移动端应用上,可以支持类似Google自主研发的TPU处理器;支持多种的开发环境;并且在Google的支持下它也能深入到移动端。它很早就帮助Google的核心服务(搜索和广告)它训练出来的模型可以用于邮件的过滤,自动回复。可以用于机器翻译。甚至是安卓手机的自拍功能,我们看到的摄像头中圈出人脸的方框,就是人脸识别的最基础的功能之一。更比如近几年十分火热的AlphaGo,汽车的自动驾驶,甚至是智能医疗等。2.2CNN(卷积神经网络)我们可以将卷积神经网络粗浅的解释为传统神经网络的一个改进版,神经网络的结构如图2-1所示,分别有三层分别对应了:输入层,隐藏层,输出层。(隐藏层并不一定只有一层,图中就是两层)图2-1人工神经网络结构卷积神经网络与传统的神经网络类似,它依旧还是层级网络,不过层的形式与功能都变化了,如图2-2所示,这是一个积神经网络结构图当中的一个卷主要用于图像分类问题,如图中对应分为:输入层、卷积层、池化层、全连接层、softmax层(其中softmax层是主要用于分类问题)图2-2卷积神经网络结构如上图所示,卷积神经网络架构与传统的常规人工网络架构非常相似[4],但是其相对于传统神经网络而言,优点却十分明显,比如有共享卷积核,相对于传统的神经网络对高维数据处理起来没有压力,也可以做到无需去手动选取图中特征,只要训练好权重,可以得到的特征分类效果比较好。2.3CNN卷积神经网络模型卷积神经网络当中有下面几种经典的卷积模型:·LeNet:最早是用于数字识别的CNN模型。·AlexNet:在2012ILSVRC夺得比赛中第一名的CNN模型。·VGGNet:它的论文是CNN领域最有影响力的论文之一。·GoogLeNet:2014ILSVRC比赛中第一名的CNN模型。·MicrosoftResNet:它在2015ILSVRC的错误仅仅为3.6%,已经高于人类肉眼识别的错误率。2.4PythonPython是一种高级设计语言,它是解释型、面向对象、动态数据类型的[5]。由GuidovanRossum发行于1991年的第一个公开版本已经面世就广受相关研究者的青睐。它的应用很广泛在:科学计算和统计、人工智能、软件开发、网络爬虫,web和Internet开发、等领域都承担了很重要的角色。2.5如何应用于垃圾分类怎样将上面的技术应用于垃圾分类,是本文的主要内容。基础的流程是:用输入设备输入图片,使用TensorFlow中卷积神经网络训练好的模型对图片进行识别,输出分类。详情可见下文系统设计中详细解释,在此不多赘述。关于TensorFlow与Python的关系。TensorFlow是Python的一个库,但与别的库不同,TensorFlow是一个用于表示抽象计算的框架,当用Python去使用TensorFlow时,代码做的事是组装计算图,然后和计算图交互(即seesions)。当然不可能完全靠一个TensorFlow的,实际上我们还用了Python中的Pandas,Keras,Numpy等,很多的库,结合一起去完成工作。第三章需求分析与系统功能分析3.1系统需求分析3.1.1功能需求(1)输入图片: ①摄像头拍照 ②通过文件载入图片 (2)识别垃圾: ①当识别为蓝色的垃圾时即可回收物 ②当识别为绿色的垃圾时即餐厨垃圾③当识别为红色的垃圾即有害垃圾 ④当识别为灰色的垃圾时即其他垃圾 (3)输出结果3.1.2性能需求(1)识别时间:在95%的情况下,一般的识别时间不超过2秒。 (2)识别广度:需要对大部分物品识别出是那一类垃圾。 (3)识别精度:对大部分物品识别的准确率要超过90%。 (4)输入图片:对jpg,与png格式图片需要都支持。3.1.3兼容性需求系统支持Windows10操作系统; 系统支持Python易用性需求简易式操作方式,仅仅需要导入图片即可进行识别,不需要登录,注册等即可。3.1.5硬件约束推荐配置:Cpu:intelcorei7-7700k4.4G内存:至少1x8GGPU显存:4G以上硬盘:HDD一个,SSD一个3.2系统主要功能系统的主要功能总结十分简单明确,通过拍照或者文件载入图片输入到已经使用训练好的模型当中去识别,将其识别的结果输出。详细由见以下流程图3-1:图3-1基本流程图开始,进入输入图片,输入图片有格式的要求,如果符合需求则进行下一步识别,如果不符合需求则输出不符合需求,并且回到输入图片这一步。进行识别,识别有正确错误之分,但是都会输出结果,但是有可能会出现无法识别,如果无法识别则回到输入图片,可以识别即输出结果。3.3系统的功能模块划分系统的功能模块分为以下:输入图片功能识别分类功能输出识别结果功能3.4本章小结本章主要将系统的需求和功能进行详细的解释,系统的需求很明显,就是要将输入的图片去识别出划分好的几种垃圾中的哪一种,这种需求概括来讲其实比较少,需求分析也有提到有硬件约束的条件,要知道要去使用代码去训练出自己想要的模型以供识别,是比较吃硬件的,总的来说电脑配置越好迭代速度会越快。第四章基于TensorFlow的简单的垃圾分类系统的实现4.1系统架构整个系统的架构有以下组成,输入设备,输入到电脑终端,电脑终端对图像进行图像分类,图像处理,图像识别,识别后的图像再分类的工作,然后输出结果如图4-1所示:图4-1架构图此系统基于TensorFlow设计的分类大脑,对图像的处理大致分为这两步:(1)使用OpenCV对输入的图片进行预处理(2)使用基于TensorFlow的卷积神经网络模型的实现图像的分类[6]4.2TensorFlow进行模型训练4.2.1收集获取数据集通过网络和自己拍的方式,去收集各类的数据集,验证集总共收集13000多张。如下图4-1是一部分的收据集,其中txt是标签。图4-1收集的数据集将其划分为四大类:可回收物、有害垃圾、厨余垃圾、其他垃圾。数据具体划分情况即数据集的分布是图4-2这样的图4-2数据分布图4.2.2对数据集进行预处理在Keras中会用到一个被称为数据生成器(data-generator)的东西,对神经网络输入数据,这样可以使得它会在整个数据上进行不断的循环。这时候会创建一个小型训练集通过对图像进行处理,图像会经过人为的各种变换来增加它的数量,它是使用了内置的数据生成器,来进行一些数据的随机转换,也被成为数据增强,之后为了增加数据样本各方面的丰富度。通过旋转(Flips)、移位(TransLations)、CoarseDropout等方法进行数据加强部分代码如图4-3,详情请见附录。图4-3预处理代码增强之后的效果是图4-4这样的,这样可以方便CNN的模型去对它进行学习和分类。图4-4预处理增强之后4.2.3搭建CNN网络接下来就是网络的搭建了,我这里使用的ResNet18是ResNet(又称为深度残差网络)结构的变种。与传统的网络结构不同,在残差网络结构中,通过“shortcutconnecttions(捷径连接)”的方式,因此传统网络中层次越深越容易出现错误的弊端得到解决,这是ResNet34有34层的结构。其基本结构如图4-5图4-5基础的深度残差网络结构图如图所示为了使得能使模型中网络的层数能够比较大的加深,它学习与形成残差的函数,实际上的操作是它对每层的输入做一个reference。这时候残差函数[7]可以比较容易的优化。在计算机视觉当中,我们所谓的特征“等级”会因为网络层数的深度的加深导致变高,从而梯度弥散也就是所谓的梯度爆炸会变成训练一个比较深层次的网络模型的严重问题,也即是深到一定地步的时候会导致误差率上升,这是层数越深就无法收敛导致。为解决这一问题,何凯明等[8]人提出了一种具有残差连接的网络结构。如图4-6所示。图4-6残差连接结构具体的ResNet还有更多的解释,详情这里就不多赘述回到本文的主要完成内容中来。根据实际情况,我选用的是ResNet18的结构。首先要知道,ResNet的组成是基础模块Bottleneck/Basicblock,通过make_layer生成四个的大的layer,然后在forward中排序。__init__的两个重要参数,block和layers,block有两种(Bottleneck/basicblock),不同模型调用的类不同,在ResNet中调用的是Basicblock类。如图4-7所示:图4-7ResNet网络结构图ResNet18是有带有权重的18层,包括卷积层和全连接层,不包括池化层和BN层,18=17个卷积层+1全连接层而Basicblock的resdual包含两个卷积层,第一层卷积层的kernel=3。代码如图4-8所示:图4-8Basicblock代码图根据ResNet18网络结构,本设计使用了如图4-9所示代码构建本次使用的网络。图4-9构建网络代码构建网络之后就是将预处理之后数据放进ResNet18的网络中进行初步特征提取。但是由于自身数据集参差不齐的质量,光线明暗,甚至因为是垃圾,“垃圾图片”本身的脏乱的特点,和过拟合的问题,最终使用ResNet的效果并不太理想。训练代码如图4-10所示:图4-10训练代码训练结果的可视化进行如图4-11和4-12所示:图4-11可视化图4-12可视化4.2.4迁移学习经过一系列调参的操作之后,实际得到的如上两图仍旧是准确率无法得到再次的提升了,于是我通过别的方法让准确率再一次的提升。这里所用到的方法:迁移学习,即Transfer-learning,它是一种机器学习方法,用不太恰当的言语来描述的话就是:温故而知新。它的目标是将从一个环境A所学到的知识,用于学习另一个环境B的任务。迁移学习通过已学习的相关任务A转移来改进学习的新任务B。迁移学习对人类来说很常见,比如,现实生活中会发现,学习认识狗能够帮助你认识猫,学习拉小提琴能够帮你学习拉二胡,这是因为人具有迁移知识帮助自己学习的能力,对于电脑来讲,通过一些方法也是可以达成同样的目标。对于迁移学习的定义[9]:给出一个源域Ds={Xs,Fs(X)},再给出一个学习任务Ts,然后是一个目标域DT={Xt,Ft(X)}再是学习任务Tt,迁移学习的目标就是在源域与目标域不同或者是学习任务Tt与学习任务Ts不同的条件下通过使用学习任务Ts和源域Ds={Xs,Fs(X)}得到的相关知识帮学习目标的在目标域Dt的预测函数Ft(.)。关于迁移学习的一些研究:比如基于模型生成的迁移学习方法,当前很多的迁移学习算法都是基于如何判别模型的学习算法[10],判别算法根据给定的一个源域的数据A,通过直接的训练能够获得的判别模型P(B|A),但是因为源域和目标域数据分布是不一样的,又因为判别模型没有考虑有关联合概率的情况P(A,B),所以在某些时候就不能够得到比较好的预测函数。不同于这个判别模型,生成模型是通过计算得出联合概率P(A,B),再去计算P(B|A),生成模型也因此提供了一个相对较好的机制,对源域和目标域的数据不相同,分布不相同,进行生成建模,达到一个比较好的知识迁移提高预测函数准确度。在本文主要的方向,图像处理方面有一种[11]翻译迁移学习方法,通过使用文本的数据,来帮助图像聚类、也有一种[12]从无标签数据进行迁移学习的方法,这个方法使用了系数编码的技术从无标签的数据中上构造出高层的特征,从而能够提高图像的分类性能。我们结合图来看,如下图4-13,传统的器学习在同的学习任务时需要建立不同的模型,去学习不同的参数,而对于迁移学习(图4-14),只需要利用源域中的数据将知识迁移到目标域,就能完成模型建立。图4-13图4-14不难发现,迁移学习适用于知识点存在重合的情况,这样的时候可以通过学习A的知识达到也了解B的知识,那么对于本文来讲,收集到的垃圾数据集,也并不是独立存在的样本,它同其他数据集存在分布重合的情况。因此将通过初步特征提取后的模型参数迁移到ResNet的模型上,通过ResNet的知识迁移学习,系统的准确率能够得到提升。下图4-15是迁移学习的部分代码图4-15经过加上了迁移学习的步骤之后,本系统的整个流程步骤也发生了一些改变,具体改变的流程如图4-16所示:图4--16流程图详细实现流程:数据的采集,数据预处理,初步提取数据特征,迁移学习,识别测试。其中迁移学习之后的的可视化准确率如图4-17所示:图4-17测试准确率可视化图4.2.5ResNet参数在上面ResNet18的结构[13]的时候我们提到了两个重要参数,block和layers,block有两种(Bottleneck/basicblock)。在较为浅层的ResNet中(大部分指ResNet34以下),用到的基础模块是BasicBlock,它由两个(3,3,out_plane)的conv2d[]堆叠而成。在使用这个BasicBlock的时候,需要根据堆叠具体的参数:输入输出通道数目,堆叠几个BasicBlock,就能确定每个stage中basicblock的基本使用情况。那么BasicBlock是如何运作的呢?resnet18()函数调用ResNet()类,通过输入初始化参数:BasicBlock,[2,2,2,2],实例化一个resnet18model:如图4-18所示,ResNet()大类(代码使用的rensent的pytorch源码),输入哪些初始化话参数就可以实例化为resnet18模型:BasicBlock图4--18下面加上基础模块BasicBlock也是残差块residualblock的图解4-19图4-19BasicBlock要解决的一个重要问题就是,identitymapping这个直连的维度和F(x)输出的维度不一样无法直接相加的问题:采用一个kernel=1的conv2d卷积核融合并降低通道信息,如果H/W尺度也不一样就设计stride。只要stride>1或者输入和输出通道数目不同都可以断定residulF(x)部分产生的featuremaps相对于原来的featuremaps的分辨率降低了,此时的identitymap都要进行下采样。也就是identitymap部分要和residual部分进行相同的尺寸变换(包括H/W和channel),这两部分的输入输出通道(planes)要相同,stride(H/W)也相同[14]。之后是做stage的函数_make_layer(),如图4-20注意在resnet18()函数中,直接调用了BasicBlock类作为实参,并没有使用BasicBlock实例:图4-20 如上就是ResNet[14]的一些重要的参数以及它的一些构成,相比于其他的网络结构,它的残差结构主要就是针对层次越深就有可能导致梯度爆炸等问题的解决方案,同时残差结果对于数据的变化/波动会更加的敏感也对于网络权重的波动更加的铭感,所以对于更加多的数据它能够更好的处理,其次相比较传统的VGG网络,它的复杂度降低许多,所需要的的参数量也下降了不少,能够用到的网络层数也更深,同时不会出现梯度爆炸,也因此分类的准确度会得到很大程度的提升。虽然相对于AlexNetVGG等经典的网络结构来说它的训练和推理速度肯定是比较慢的,其次在硬件配置不够的情况下速度问题就会突出,但是最重要的一点在于根据自己需要项目的目标去分析,根据我的项目要求如果使用AlexNet等经典但比较旧的网络结构的话,很可能因为数据量的问题和分类过多导致其过拟合,实际实践与操作中直接使用AlexNet模型的情况下准确率只有70%就不能够再提高了(本项目)所以ResNet无疑是更好的选择4.2.6识别测试在通过了数据预处理,搭建网络,进行训练,提取特征,迁移学习,调整ResNet18的参数之后开始了对ResNet进行不断的迭代训练,然后将迭代过程效果最好的进行标记如图4-21,图4-21然后使用训练好的模型,与我分类的测试集进行测试,得出的测试混准确率还不错,达到了90%如下图4-22图4-224.3运行效果运行效果基本能够对大部分的测试集图片进行比较准确的识别,下面图4-23为一些中间段实时效果展示,图4-24和图4-25运行最终界面结果展示:图4-23中间时段图4-24图4-254.4本章总结本章主要从几个部分描述了这个如何去实现的,通过收集到数据集,分类,到数据的预处理,再到搭建整个ResNet网络,然后怎样去用到迁移学习,调整ResNet的参数的几大重要内容,这些是整个系统的支撑部分和原理加上实现部分,整个部分内容比较多且杂,因为为什么要使用这个技术去做,或者说为什么要这样去做都有思路和逻辑思维。整个的流程上来说算是非常短的了,因为系统没有设计太多交互的功能,也是因为有整个设计为简约这个概念而来的。虽然流程补偿,但是实际操作起来确是比较麻烦,在第三章小结中有提到,迭代是相当耗费时间的一件事情,首先因为数据集数量是不小的,所以整合运行的时间也会比较长,加上于在笔记本电脑上操作,本身配置不足的原因就导致了会更加在时间这个问题上雪上加霜。并且因为整个过程需要不断去调整参数,迭代,训练,看出来的效果,如果不对,又需要再次调参,迭代,训练。整个过程是无法省略的,只能不断去尝试去更正。第五章系统测试5.1系统功能测试(1)设备与环境:操作系统:win10环境:Python3.6,TensorFlow2.0以上,Keras,Pytorch,CPU:corei5-6300HQ8G内存显卡:NVIDAGTX965M内存:HHD1TSSD240G(2)使用场景设计与使用场景测试[15]:①找出基本流和备选流表5-1基本流与备选流表基本流进入系统后,选择载入图片,点击识别,看结果备选流1无法载入图片备选流2图片格式不对备选流3无法识别是什么备选流4使用过程中程序卡死 ②生成相应场景表5-2生成相应的使用场景场景1成功识别基本流场景2无法载入图片基本流,备选流1场景3无法识别该图片基本流,备选流3场景4系统使用过程中卡死基本流,备选流4场景5输入图片的格式不对基本流,本旋流2 ③根据场景进行测试: Ⅰ.正常情况下,基本流完成,没有问题。Ⅱ.使用非jpg,png,图片的格式,系统显示输入图片格式不正确回到输入图片步骤。Ⅲ.使用jpg,png图片格式的图,发现有大致以下情况图无法识别:一张图中有2个或以上类别的垃圾图中并没有垃圾图片图的质量太过低,无法识别Ⅳ.基本很少遇到卡死的情况,因为系统原因并不会有高并发的出现,暂且忽略。5.2系统准确率测试系统的准确率测试,通过自己分类出来的测试集,对训练的模型即系统进行垃圾分类的准确率测试,部分结果如图5-1,5-2,5-3所示:图5-1图5-2图5-3本系统通过自己的训练集与测试集得出的准确率为94%左右。第六章结论垃圾分类的解决方案当中,以TensorFlow做的垃圾分类系统算是耗人力物力时间较少的一类,以卷积神经网络的方式训练出可以识别与分类垃圾的模型,对其进行识别分类。系统设计方案实现的比较简单,而且也是有实际的作用的。目前垃圾分类的各个地区来讲,以我所在的广州市来说,很多居民社区当中的分类垃圾桶,只是起到了多了两个垃圾桶的作用,居民大多还是不会将其分类好,当然可以肯定的是,这是垃圾分类的意识与知识的不足,有人想分,但不会,还要学习。忙碌的都市生活人群大多不愿意发上这点时间去学习分类知识,只能通过潜移默化的方式去培养人们的分类意识,将垃圾分类创新的用人工智能的技术去结合,低成本,对提高分类意识也是很有帮助的。参考文献[1]新华网编辑部.日本:一个烟盒要分三类丢弃[J],幸福家庭,2018(5):1-1.[2]张帆.“垃圾分类”国外有何高招?[J],小康,2019(23):72-73[3]Google大脑小组.关于TensorFlow,/[Z],2018,(03)[4]戴凤智魏宝昌欧阳育星金霞.基于深度学习的视频跟踪研究进展综述[J],计算机工程与应用,2019(10):21-34[5]李影侠谢佳东胡孔法杨涛赵玉凤.中医住院病案首页费用信息质控系统设计与实现[J],计算机时代,2018(12):41-43.[6]吴睿曦肖秦琨.基于深度网络和数据增强的多物体图像识别[J],国外电子测量技术,2019(05):19-21[7]张萌岩何儒汉詹伟李敏陈佳.基于改进的残差神经网络的服装标签属性识别[J],计算机与数字工程,2019(04):202-208.[8]何凯明[9]Pan,S.J.,Yang.Asurveyontransferlearning[J],IEEETransactionsonKnowledgeandDataEngineering,2010(10),1345–1359.[10]庄福振,中国科学院智能信息处理重点实验室,庄福振,等.迁移学习研究进展[J].软件学报,2015,26(1):26-39.[11]Dai WY, Chen YQ, Xue GR, et al.Translated learning: Transfer learningacross different feature spaces. In: Proc. of the Advances in NeuralInformation Processing Systems 20[J]. Cambridge: MIT Press, 2008. 353−360.[12]Raina R, Battle A, Lee H, et al. Self-Taught learning: Transfer learning from unlabeled data. In: Proc. of the 24th Int’l Conf[J]. on Machine Learning. San Francisco: Morgan Kaufmann Publisherws, 2007. 759−766.[13]王峥贺文.深度残差网络在尘肺病诊断中的应用初探%PrimaryexplorationonapplicationofResNetindeeplearningofpneumoconiosisdiagnosis[J].中国工业医学杂志,2019,032(001):31-33.[14]徐培超,陈雯柏,陈祥凤,等.多任务及Resnet网络在人脸多属性识别中的应用[J].小型微型计算机系统,2018,39(12):162-166.[15]施寅生王峰齐璇宗建建.基于TTCN-3的Web应用功能测试方法[J].计算机应用,2010(8):4-4.致谢大学四年里学习到很多知识,跟很多志同道合的朋友相识相知真的也是万幸。这里要多谢父母对自己选择计算机软件工程这个专业的支持,在选专业时开始比较的迷茫,对现专业当时是游移不定的最终也是父母给与信心,让我能够选择这个比较感兴趣的专业吧,其次是学校的老师们,老师们尽心尽责,并没有因为我们有时候的无礼和懈怠就放弃,同时也是专业且认真的教给我们安身立命的本钱。感谢同学舍友一路的陪伴,前进的道路不感到孤独,就是因为我知道一直有你们与我共同前行。最后对自己表示感谢,感谢你没有因为一时的疑惑和难题就止步不前,感谢你还算努力的学习了专业的各方面知识,感谢你耐的下心来钻研,望今后继续保持,砥砺前行。附录以下是本项目的全部代码截图:Data_pre.py:resent.py:Test_model.py:Train.py:Translate.py:Utils.py:
ExcelXP的八则快速输入技巧如果我们在用ExcelXP处理庞大的数据信息时,不注意讲究技巧和方法的话,很可能会花费很大的精力。因此如何巧用ExcelXP,来快速输入信息就成为各个ExcelXP用户非常关心的话题,笔者向大家介绍几则这方面的小技巧。1、快速输入大量含小数点的数字如果我们需要在ExcelXP工作表中输入大量的带有小数位的数字时,按照普通的输入方法,我们可能按照数字原样大小直接输入,例如现在要在单元格中输入0.05这个数字时,我们会把“0.05”原样输入到表格中。不过如果需要输入若干个带有小数点的数字时,我们再按照上面的方法输入的话,每次输入数字时都需要重复输入小数点,这样工作量会变大,输入效率会降低。其实,我们可以使用ExcelXP中的小数点自动定位功能,让所有数字的小数点自动定位,从而快速提高输入速度。在使用小数点自动定位功能时,我们可以先在ExcelXP的编辑界面中,用鼠标依次单击“工具”/“选项”/“编辑”标签,在弹出的对话框中选中“自动设置小数点”复选框,然后在“位数”微调编辑框中键入需要显示在小数点右面的位数就可以了。以后我们再输入带有小数点的数字时,直接输入数字,而小数点将在回车键后自动进行定位。例如,我们要在某单元格中键入0.06的话,可以在上面的设置中,让“位数”选项为2,然后直接在指定单元格中输入6,回车以后,该单元格的数字自动变为“0.06”,怎么样简单吧?2、快速录入文本文件中的内容现在您手边假如有一些以纯文本格式储存的文件,如果此时您需要将这些数据制作成ExcelXP的工作表,那该怎么办呢?重新输入一遍,大概只有头脑有毛病的人才会这样做;将菜单上的数据一个个复制/粘贴到工作表中,也需花很多时间。没关系!您只要在ExcelXP中巧妙使用其中的文本文件导入功能,就可以大大减轻需要重新输入或者需要不断复制、粘贴的巨大工作量了。使用该功能时,您只要在ExcelXP编辑区中,依次用鼠标单击菜单栏中的“数据/获取外部数据/导入文本文件”命令,然后在导入文本会话窗口选择要导入的文本文件,再按下“导入”钮以后,程序会弹出一个文本导入向导对话框,您只要按照向导的提示进行操作,就可以把以文本格式的数据转换成工作表的格式了。3、快速输入大量相同数据如果你希望在不同的单元格中输入大量相同的数据信息,那么你不必逐个单元格一个一个地输入,那样需要花费好长时间,而且还比较容易出错。你可以通过下面的操作方法在多个相邻或不相邻的单元格中快速填充同一个数据,具体方法为:首先同时选中需要填充数据的单元格。若某些单元格不相邻,可在按住Ctrl键的同时,点击鼠标左键,逐个选中;其次输入要填充的某个数据。按住Ctrl键的同时,按回车键,则刚才选中的所有单元格同时填入该数据。4、快速进行中英文输入法切换一张工作表常常会既包含有数字信息,又包含有文字信息,要录入这样一种工作表就需要我们不断地在中英文之间反复切换输入法,非常麻烦,为了方便操作,我们可以用以下方法实现自动切换:首先用鼠标选中需要输入中文的单元格区域,然后在输入法菜单中选择一个合适的中文输入法;接着打开“有效数据”对话框,选中“IME模式”标签,在“模式”框中选择打开,单击“确定”按钮;然后再选中输入数字的单元格区域,在“有效数据”对话框中,单击“IME模式”选项卡,在“模式”框中选择关闭(英文模式);最后单击“确定”按钮,这样用鼠标分别在刚才设定的两列中选中单元格,五笔和英文输入方式就可以相互切换了。5、快速删除工作表中空行删除ExcelXP工作表中的空行,一般的方法是需要将空行都找出来,然后逐行删除,但这样做操作量非常大,很不方便。那么如何才能减轻删除工作表中空行的工作量呢?您可以使用下面的操作方法来进行删除:首先打开要删除空行的工作表,在打开的工作表中用鼠标单击菜单栏中的“插入”菜单项,并从下拉菜单中选择“列”,从而插入一新的列X,在X列中顺序填入整数;然后根据其他任何一列将表中的行排序,使所有空行都集中到表的底部。删去所有空行中X列的数据,以X列重新排序,然后删去X列。按照这样的删除方法,无论工作表中包含多少空行,您就可以很快地删除了。6、快速对不同单元格中字号进行调整在使用ExcelXP编辑文件时,常常需要将某一列的宽度固定,但由于该列各单元格中的字符数目不等,致使有的单元格中的内容不能完全显示在屏幕上,为了让这些单元格中的数据都显示在屏幕上,就不得不对这些单元格重新定义较小的字号。如果依次对这些单元格中的字号调整的话,工作量将会变得很大。其实,您可以采用下面的方法来减轻字号调整的工作量:首先新建或打开一个工作簿,并选中需要ExcelXP根据单元格的宽度调整字号的单元格区域;其次单击用鼠标依次单击菜单栏中的“格式”/“单元格”/“对齐”标签,在“文本控制”下选中“缩小字体填充”复选框,并单击“确定”按钮;此后,当你在这些单元格中输入数据时,如果输入的数据长度超过了单元格的宽度,ExcelXP能够自动缩小字符的大小把数据调整到与列宽一致,以使数据全部显示在单元格中。如果你对这些单元格的列宽进行了更改,则字符可自动增大或缩小字号,以适应新的单元格列宽,但是对这些单元格原设置的字体字号大小则保持不变。7、快速输入多个重复数据在使用ExcelXP工作表的过程中,我们经常要输入大量重复的数据,如果依次输入,无疑工作量是巨大的。现在我们可以借助ExcelXP的“宏”功能,来记录首次输入需要重复输入的数据的命令和过程,然后将这些命令和过程赋值到一个组合键或工具栏的按钮上,当按下组合键时,计算机就会重复所记录的操作。使用宏功能时,我们可以按照以下步骤进行操作:首先打开工作表,在工作表中选中要进行操作的单元格;接着再用鼠标单击菜单栏中的“工具”菜单项,并从弹出的下拉菜单中选择“宏”子菜单项,并从随后弹出的下级菜单中选择“录制新宏”命令;设定好宏后,我们就可以对指定的单元格,进行各种操作,程序将自动对所进行的各方面操作记录复制。8、快速处理多个工作表有时我们需要在ExcelXP中打开多个工作表来进行编辑,但无论打开多少工作表,在某一时刻我们只能对一个工作表进行编辑,编辑好了以后再依次编辑下一个工作表,如果真是这样操作的话,我们倒没有这个必要同时打开多个工作表了,因为我们同时打开多个工作表的目的就是要减轻处理多个工作表的工作量的,那么我们该如何实现这样的操作呢?您可采用以下方法:首先按住“Shift"键或“Ctrl"键并配以鼠标操作,在工作簿底部选择多个彼此相邻或不相邻的工作表标签,然后就可以对其实行多方面的批量处理;接着在选中的工作表标签上按右键弹出快捷菜单,进行插入和删除多个工作表的操作;然后在“文件”菜单中选择“页面设置……”,将选中的多个工作表设成相同的页面模式;再通过“编辑”菜单中的有关选项,在多个工作表范围内进行查找、替换、定位操作;通过“格式”菜单中的有关选项,将选中的多个工作表的行、列、单元格设成相同的样式以及进行一次性全部隐藏操作;接着在“工具”菜单中选择“选项……”,在弹出的菜单中选择“视窗”和“编辑”按钮,将选中的工作表设成相同的视窗样式和单元格编辑属性;最后选中上述工作表集合中任何一个工作表,并在其上完成我们所需要的表格,则其它工作表在相同的位置也同时生成了格式完全相同的表格。高效办公Excel排序方法"集中营"排序是数据处理中的经常性工作,Excel排序有序数计算(类似成绩统计中的名次)和数据重排两类。本文以几个车间的产值和名称为例,介绍Excel2000/XP的数据排序方法。一、数值排序1.RANK函数RANK函数是Excel计算序数的主要工具,它的语法为:RANK(number,ref,order),其中number为参与计算的数字或含有数字的单元格,ref是对参与计算的数字单元格区域的绝对引用,order是用来说明排序方式的数字(如果order为零或省略,则以降序方式给出结果,反之按升序方式)。例如图1中E2、E3、E4单元格存放一季度的总产值,计算各车间产值排名的方法是:在F2单元格内输入公式“=RANK(E2,$E$2:$E$4)”,敲回车即可计算出铸造车间的产值排名是2。再将F2中的公式复制到剪贴板,选中F3、F4单元格按Ctrl+V,就能计算出其余两个车间的产值排名为3和1。如果B1单元格中输入的公式为“=RANK(E2,$E$2:$E$4,1)”,则计算出的序数按升序方式排列,即2、1和3。需要注意的是:相同数值用RANK函数计算得到的序数(名次)相同,但会导致后续数字的序数空缺。假如上例中F2单元格存放的数值与F3相同,则按本法计算出的排名分别是3、3和1(降序时)。2.COUNTIF函数COUNTIF函数可以统计某一区域中符合条件的单元格数目,它的语法为COUNTIF(range,criteria)。其中range为参与统计的单元格区域,criteria是以数字、表达式或文本形式定义的条件。其中数字可以直接写入,表达式和文本必须加引号。仍以图1为例,F2单元格内输入的公式为“=COUNTIF($E$2:$E$4,">"&E2)+1”。计算各车间产值排名的方法同上,结果也完全相同,2、1和3。此公式的计算过程是这样的:首先根据E2单元格内的数值,在连接符&的作用下产生一个逻辑表达式,即“>176.7”、“>167.3”等。COUNTIF函数计算出引用区域内符合条件的单元格数量,该结果加一即可得到该数值的名次。很显然,利用上述方法得到的是降序排列的名次,对重复数据计算得到的结果与RANK3.IF函数Excel自身带有排序功能,可使数据以降序或升序方式重新排列。如果将它与IF函数结合,可以计算出没有空缺的排名。以图1中E2、E3、E4单元格的产值排序为例,具体做法是:选中E2单元格,根据排序需要,单击Excel工具栏中的“降序排序”或“升序排序”按钮,即可使工作表中的所有数据按要求重新排列。假如数据是按产值由大到小(降序)排列的,而您又想赋予每个车间从1到n(n为自然数)的排名。可以在G2单元格中输入1,然后在G3单元格中输入公式“=IF(E3=E2,G3,G3+1)”,只要将公式复制到G4等单元格,就可以计算出其他车间的产值排名。二、文本排序选举等场合需要按姓氏笔划为文本排序,Excel提供了比较好的解决办法。如果您要将图1数据表按车间名称的笔划排序,可以使用以下方法:选中排序关键字所在列(或行)的首个单元格(如图1中的A1),单击Excel“数据”菜单下的“排序”命令,再单击其中的“选项”按钮。选中“排序选项”对话框“方法”下的“笔画排序”,再根据数据排列方向选择“按行排序”或“按列排序”,“确定”后回到“排序”对话框(图2)。如果您的数据带有标题行(如图1中的“单位”之类),则应选中“有标题行”(反之不选),然后打开“主要关键字”下拉列表,选择其中的“单位”,选中排序方式(“升序”或“降序”)后“确定”,表中的所有数据就会据此重新排列。此法稍加变通即可用于“第一名”、“第二名”等文本排序,请读者自行摸索。三、自定义排序如果您要求Excel按照“金工车间”、“铸造车间”和“维修车间”的特定顺序重排工作表数据,前面介绍的几种方法就无能为力了。这类问题可以用定义排序规则的方法解决:首先单击Excel“工具”菜单下的“选项”命令,打开“选项”对话框中的“自定义序列”选项卡(图3)。选中左边“自定义序列”下的“新序列”,光标就会在右边的“输入序列”框内闪动,您就可以输入“金工车间”、“铸造车间”等自定义序列了,输入的每个序列之间要用英文逗号分隔,或者每输入一个序列就敲回车。如果序列已经存在于工作表中,可以选中序列所在的单元格区域单击“导入”,这些序列就会被自动加入“输入序列”框。无论采用以上哪种方法,单击“添加”按钮即可将序列放入“自定义序列”中备用(图3)。使用排序规则排序的具体方法与笔划排序很相似,只是您要打开“排序选项”对话框中的“自定义排序次序”下拉列表,选中前面定义的排序规则,其他选项保持不动。回到“排序”对话框后根据需要选择“升序”或“降序”,“确定”后即可完成数据的自定义排序。需要说明的是:显示在“自定义序列”选项卡中的序列(如一、二、三等),均可按以上方法参与排序,请读者注意Excel提供的自定义序列类型。谈谈Excel输入的技巧在Excel工作表的单元格中,可以使用两种最基本的数据格式:常数和公式。常数是指文字、数字、日期和时间等数据,还可以包括逻辑值和错误值,每种数据都有它特定的格式和输入方法,为了使用户对输入数据有一个明确的认识,有必要来介绍一下在Excel中输入各种类型数据的方法和技巧。一、输入文本Excel单元格中的文本包括任何中西文文字或字母以及数字、空格和非数字字符的组合,每个单元格中最多可容纳32000个字符数。虽然在Excel中输入文本和在其它应用程序中没有什么本质区别,但是还是有一些差异,比如我们在Word、PowerPoint的表格中,当在单元格中输入文本后,按回车键表示一个段落的结束,光标会自动移到本单元格中下一段落的开头,在Excel的单元格中输入文本时,按一下回车键却表示结束当前单元格的输入,光标会自动移到当前单元格的下一个单元格,出现这种情况时,如果你是想在单元格中分行,则必须在单元格中输入硬回车,即按住Alt键的同时按回车键。二、输入分数几乎在所有的文档中,分数格式通常用一道斜杠来分界分子与分母,其格式为“分子/分母”,在Excel中日期的输入方法也是用斜杠来区分年月日的,比如在单元格中输入“1/2”,按回车键则显示“1月2日”,为了避免将输入的分数与日期混淆,我们在单元格中输入分数时,要在分数前输入“0”(零)以示区别,并且在“0”和分子之间要有一个空格隔开,比如我们在输入1/2时,则应该输入“01/2”。如果在单元格中输入“81/2”,则在单元格中显示“81/2”,而在编辑栏中显示“三、输入负数在单元格中输入负数时,可在负数前输入“-”作标识,也可将数字置在()括号内来标识,比如在单元格中输入“(88)”,按一下回车键,则会自动显示为“-88”。四、输入小数在输入小数时,用户可以向平常一样使用小数点,还可以利用逗号分隔千位、百万位等,当输入带有逗号的数字时,在编辑栏并不显示出来,而只在单元格中显示。当你需要输入大量带有固定小数位的数字或带有固定位数的以“0”字符串结尾的数字时,可以采用下面的方法:选择“工具”、“选项”命令,打开“选项”对话框,单击“编辑”标签,选中“自动设置小数点”复选框,并在“位数”微调框中输入或选择要显示在小数点右面的位数,如果要在输入比较大的数字后自动添零,可指定一个负数值作为要添加的零的个数,比如要在单元格中输入“88”后自动添加3个零,变成“88000”,就在“位数”微调框中输入“-3”,相反,如果要在输入“88”后自动添加3位小数,变成“0.088”,则要在“位数”微调框中输入“3”。另外,在完成输入带有小数位或结尾零字符串的数字后,应清除对“自动设置小数点”符选框的选定,以免影响后边的输入;如果只是要暂时取消在“自动设置小数点”中设置的选项,可以在输入数据时自带小数点。五、输入货币值Excel几乎支持所有的货币值,如人民币(¥)、英镑(£)等。欧元出台以后,Excel2000完全支持显示、输入和打印欧元货币符号。用户可以很方便地在单元格中输入各种货币值,Excel会自动套用货币格式,在单元格中显示出来,如果用要输入人民币符号,可以按住Alt键,然后再数字小键盘上按“0165”即可。六、输入日期Excel是将日期和时间视为数字处理的,它能够识别出大部分用普通表示方法输入的日期和时间格式。用户可以用多种格式来输入一个日期,可以用斜杠“/”或者“-”来分隔日期中的年、月、日部分。比如要输入“2001年12月1日”,可以在单元各种输入“2001/12/1”或者“2001-12-1七、输入时间在Excel中输入时间时,用户可以按24小时制输入,也可以按12小时制输入,这两种输入的表示方法是不同的,比如要输入下午2时30分38秒,用24小时制输入格式为:2:30:38,而用12小时制输入时间格式为:2:30:38p,注意字母“p”和时间之间有一个空格。如果要在单元格中插入当前时间,则按Ctrl+Shift+;键。了解Excel公式的错误值经常用Excel的朋友可能都会遇到一些莫名奇妙的错误值信息:#N/A!、#VALUE!、#DIV/O!等等,出现这些错误的原因有很多种,如果公式不能计算正确结果,Excel将显示一个错误值,例如,在需要数字的公式中使用文本、删除了被公式引用的单元格,或者使用了宽度不足以显示结果的单元格。以下是几种常见的错误及其解决方法。1.#####!原因:如果单元格所含的数字、日期或时间比单元格宽,或者单元格的日期时间公式产生了一个负值,就会产生#####!错误。解决方法:如果单元格所含的数字、日期或时间比单元格宽,可以通过拖动列表之间的宽度来修改列宽。如果使用的是1900年的日期系统,那么Excel中的日期和时间必须为正值,用较早的日期或者时间值减去较晚的日期或者时间值就会导致#####!错误。如果公式正确,也可以将单元格的格式改为非日期和时间型来显示该值。2.#VALUE!当使用错误的参数或运算对象类型时,或者当公式自动更正功能不能更正公式时,将产生错误值#VALUE!。原因一:在需要数字或逻辑值时输入了文本,Excel不能将文本转换为正确的数据类型。解决方法:确认公式或函数所需的运算符或参数正确,并且公式引用的单元格中包含有效的数值。例如:如果单元格A1包含一个数字,单元格A2包含文本"学籍",则公式"=A1+A2"将返回错误值#VALUE!。可以用SUM工作表函数将这两个值相加(SUM函数忽略文本):=SUM(A1:A2)。原因二:将单元格引用、公式或函数作为数组常量输入。解决方法:确认数组常量不是单元格引用、公式或函数。原因三:赋予需要单一数值的运算符或函数一个数值区域。解决方法:将数值区域改为单一数值。修改数值区域,使其包含公式所在的数据行或列。3.#DIV/O!当公式被零除时,将会产生错误值#DIV/O!。原因一:在公式中,除数使用了指向空单元格或包含零值单元格的单元格引用(在Excel中如果运算对象是空白单元格,Excel将此空值当作零值)。解决方法:修改单元格引用,或者在用作除数的单元格中输入不为零的值。原因二:输入的公式中包含明显的除数零,例如:=5/0。解决方法:将零改为非零值。4.#NAME?在公式中使用了Excel不能识别的文本时将产生错误值#NAME?。原因一:删除了公式中使用的名称,或者使用了不存在的名称。解决方法:确认使用的名称确实存在。选择菜单"插入"|"名称"|"定义"命令,如果所需名称没有被列出,请使用"定义"命令添加相应的名称。原因二:名称的拼写错误。解决方法:修改拼写错误的名称。原因三:在公式中使用标志。解决方法:选择菜单中"工具"|"选项"命令,打开"选项"对话框,然后单击"重新计算"标签,在"工作薄选项"下,选中"接受公式标志"复选框。原因四:在公式中输入文本时没有使用双引号。解决方法:Excel将其解释为名称,而不理会用户准备将其用作文本的想法,将公式中的文本括在双引号中。例如:下面的公式将一段文本"总计:"和单元格B50中的数值合并在一起:="总计:"&B50原因五:在区域的引用中缺少冒号。解决方法:确认公式中,使用的所有区域引用都使用冒号。例如:SUM(A2:B34)。5.#N/A原因:当在函数或公式中没有可用数值时,将产生错误值#N/A。解决方法:如果工作表中某些单元格暂时没有数值,请在这些单元格中输入"#N/A",公式在引用这些单元格时,将不进行数值计算,而是返回#N/A。6.#REF!当单元格引用无效时将产生错误值#REF!。原因:删除了由其他公式引用的单元格,或将移动单元格粘贴到由其他公式引用的单元格中。解决方法:更改公式或者在删除或粘贴单元格之后,立即单击"撤消"按钮,以恢复工作表中的单元格。7.#NUM!当公式或函数中某个数字有问题时将产生错误值#NUM!。原因一:在需要数字参数的函数中使用了不能接受的参数。解决方法:确认函数中使用的参数类型正确无误。原因二:使用了迭代计算的工作表函数,例如:IRR或RATE,并且函数不能产生有效的结果。解决方法:为工作表函数使用不同的初始值。原因三:由公式产生的数字太大或太小,Excel不能表示。解决方法:修改公式,使其结果在有效数字范围之间。8.#NULL!当试图为两个并不相交的区域指定交叉点时将产生错误值#NULL!。原因:使用了不正确的区域运算符或不正确的单元格引用。解决方法:如果要引用两个不相交的区域,请使用联合运算符逗号(,)。公式要对两个区域求和,请确认在引用这两个区域时,使用逗号。如:SUM(A1:A13,D12:D23)。如果没有使用逗号,Excel将试图对同时属于两个区域的单元格求和,但是由于A1:A13和D12:D23并不相交,所以他们没有共同的单元格。在Excel中快速查看所有工作表公式只需一次简单的键盘点击,即可可以显示出工作表中的所有公式,包括Excel用来存放日期的序列值。要想在显示单元格值或单元格公式之间来回切换,只需按下CTRL+`(位于TAB键上方)。EXCEL2000使用技巧十招1、Excel文件的加密与隐藏如果你不愿意自己的Excel文件被别人查看,那么你可以给它设置密码保护,采用在保存文件时用加密的方法就可以实现保护目的,在这里要特别注意的是,自己设定的密码一定要记住,否则自己也将被视为非法入侵者而遭拒绝进入。给文件加密的具体方法为:A、单击“文件”菜单栏中的“保存或者(另存为)”命令后,在弹出的“保存或者(另存为)”的对话框中输入文件名;B、再单击这个对话框中“工具”栏下的“常规选项”按钮,在弹出的“保存选项”的对话框中输入自己的密码;这里要注意,它提供了两层保护,如果你也设置了修改权限密码的话,那么即使文件被打开也还需要输入修改权限的密码才能修改。C、单击“确定”按钮,在弹出的密码确认窗口中重新输入一遍密码,再点击“确认”,最后点“保存”完成文件的加密工作。当重新打开文件时就要求输入密码,如果密码不正确,文件将不能打开。2、对单元格进行读写保护单元格是Excel执行其强大的计算功能最基本的元素,对单元格的读写保护是Excel对数据进行安全管理的基础。对单元格的保护分为写保护和读保护两类,所谓写保护就是对单元格中输入信息加以限制,读保护是对单元格中已经存有信息的浏览和查看加以限制。对单元格的写保护有两种方法:A、对单元格的输入信息进行有效性检测。首先选定要进行有效性检测的单元格或单元格集合,然后从数据菜单中选择“有效数据”选项,通过设定有效条件、显示信息和错误警告,控制输入单元格的信息要符合给定的条件。B、设定单元格的锁定属性,以保护存入单元格的内容不能被改写。可分为以下步骤:(1)选定需要锁定的单元格或单元格集合;(2)从格式菜单中选择“单元格”选项;(3)在设置单元格格式的弹出菜单中选择“保护”标签,在弹出的窗口中,选中“锁定”;(4)从工具菜单中选择“保护”选项,设置保护密码,即完成了对单元格的锁定设置。对单元格的读保护有三种方法:A、通过对单元格颜色的设置进行读保护。例如:将选定单元格或单元格集合的背景颜色与字体颜色同时设为白色,这样,从表面看起来单元格中好像是没有输入任何内容,用户无法直接读出单元格中所存储的信息。B、用其他画面覆盖在需要保护的单元格之上,遮住单元格的本来面目,以达到读保护目的。例如:使用绘图工具,画一不透明矩形覆盖在单元格之上,从格式菜单中选定矩形的“锁定”选项,然后保护工作表,以保证矩形不能被随意移动。这样,用户所看到的只是矩形,而看不到单元格中所存储的内容。C、通过设置单元格的行高和列宽,隐藏选定的单元格,然后保护工作表,使用户不能直接访问被隐藏的单元格,从而起到读保护的作用。3、快速填充相同数据如果你希望在不同的单元格中输入大量相同的数据信息,那么你不必逐个单元格一个一个地输入,那样需要花费好长时间,而且还比较容易出错。我们可以通过下面的操作方法在多个相邻或不相邻的单元格中快速填充同一个数据,具体方法为:A、同时选中需要填充数据的单元格。若某些单元格不相邻,可在按住Ctrl键的同时,点击鼠标左键,逐个选中;B、输入要填充的某个数据。按住Ctrl键的同时,按回车键,则刚才选中的所有单元格同时填入该数据。4、使用Excel中的“宏”功能宏的概念,相信使用过WORD的人都会知道,她可以记录命令和过程,然后将这些命令和过程赋值到一个组合键或工具栏的按钮上,当按下组合键时,计算机就会重复所记录的操作。在实践工作中,它可以代替经常输入大量重复而又琐碎的数据,具体宏的定义方法如下::A、打开工作表,在工作表中选中要进行操作的单元格;B、用鼠标单击菜单栏中的“工具”菜单项,并从弹出的下拉菜单中选择“宏”子菜单项,并从随后弹出的下级菜单中选择“录制新宏”命令;C、设定好宏后,我们就可以对指定的单元格,进行各种操作,程序将自动对所进行的各方面操作记录复制。5、连续两次选定单元格我们有时需要在某个单元格内连续输入多个数值,以查看引用此单元格的其他单元格的效果。但每次输入一个值后按回车键,活动单元格均默认下移一个单元格,非常不便。解决此问题的一般做法是通过选择“工具”\“选项”\“编辑”,取消“按回车键后移动”选项的选定来实现在同一单元格内输入许多数值,但以后你还得将此选项选定,显得比较麻烦。其实,采用连续两次选定单元格方法就显得灵活、方便:单击鼠标选定单元格,然后按住Ctrl键再次单击鼠标选定此单元格。此时,单元格周围将出现实线框。6、在工作表之间使用超级连接首先须要在被引用的其他工作表中相应的部分插入书签,然后在引用工作表中插入超级链接,注意在插入超级链接时,可以先在“插入超级链接”对话框的“链接到文件或URL”设置栏中输入目标工作表的路径和名称,再在“文件中有名称的位置”设置栏中输入相应的书签名,也可以通过“浏览”方式选择。完成上述操作之后,一旦使用鼠标左键单击工作表中带有下划线的文本的任意位置,即可实现中文Excel2000在自动打开目标工作表并转到相应的位置处,这一点与WORD的使用很相似。7、快速清除单元格的内容首先用鼠标选定该单元格,然后按住键盘上的Delete键,此时你会发现你只是删除了单元格内容,它的格式和批注还保留着。那么如何才能彻底清除单元格呢,请看下面的两种操作步骤:A、选定想要清除的单元格或单元格范围;B、选择“编辑”菜单中的“清除”命令,这时显示“清除”菜单;C、选择要清除的命令,可以选择“全部”、“格式”、“内容”或“批注”中的任一个。8、快速修改单元格次序在实际操作的过程中,我们有时需要快速修改单元格内容的次序。在拖放选定的一个或多个单元格至新的位置的同时,按住Shift键可以快速修改单元格内容的次序。具体方法如下:A、首先用鼠标选定单元格,同时按下键盘上的Shift键;B、接着移动鼠标指针到单元格边缘,直至出现拖放指针箭头,然后进行拖放操作。上下拖拉时鼠标在单元格间边界处会变成一个水平“工”状标志,左右拖拉时会变成垂直“工”状标志,释放鼠标按钮完成操作后,单元格间的次序即发生了变化。、在Excel中利用公式来设置加权平均加权平均在财务核算和统计工作中经常用到,并不是一项很复杂的计算,关键是要理解加权平均值其实就是总量值(如金额)除以总数量得出的单位平均值,而不是简单的将各个单位值(如单价)平均后得到的那个单位值。在Excel中可设置公式解决(其实就是一个除法算式),分母是各个量值之和,分子是相应的各个数量之和,它的结果就是这些量值的加权平均值。10、用Excel绘制函数图像函数图像能直观地反映函数的性质,用手工方法来绘制函数图像效果不太好,而用Excel绘制函数图像非常简便,所作图像非常标准、漂亮,具体方法如下:A、首先打开电子表格的操作窗口,然后用鼠标选择菜单栏中的“新建”命令,这时屏幕上会出现一个空白的电子表格;B、然后在A列的A1格输入“X=”,表明这是自变量,再在A列的A2及以后的格内逐次从小到大输入自变量的各个值;实际输入的时候,通常应用等差数列输入法,先输入前三个值,定出自变量中数与数的距离,然后点击A2格,按住鼠标拖到A4格选中这三项,使这三项变成一个黑色矩形,再用鼠标指向这黑色矩形的右下角的小方块,当光标变成“+”后,按住鼠标拖动光标到适当的位置,就完成自变量的输入;C、接着在B列的B1格输入函数式y=f(x)的一般函数表达式,如y=1/x;也可在点击工具栏上的函数图标“fx”后,在出现的不同函数列表的选项中选择需要的一种;输入结束后,点击函数输入对话框旁的勾号,B2格内马上得出了计算的结果。这时,再选中B2格,让光标指向B2矩形右下角的方框,当光标变成“+”时按住光标沿B列拖动到适当的位置即完成函数值的计算。注意一定要把该函数中自变量x的位置输入前面A列自变量的绝对位置A2格,这样下面计算的时候才会对不同的自变量进行计算;D、最后点击工具栏上的“图表向导”图标,在出现的各种图表格式图标中选择“X,Y散点图”,然后在出现的“X,Y散点图”类型中选择“无数据点平滑线散点图”;这时,可按住鼠标察看即将绘好的函数图像。另外,对于自变量仅为正值的函数,也可用“图表向导”中的“折线图”格式绘制。在Excel中自动推测出生年月日及性别的技巧大家都知道,身份证号码已经包含了每个人的出生年月日及性别等方面的信息(对于老式的15位身份证而言,7-12位即个人的出生年月日,而最后一位奇数或偶数则分别表示男性或女性。如某人的身份证号码为420400700101001,它的7-12位为700101,这就表示该人是1970年元月1日出生的,身份证的最后一位为奇数1,这就表示该人为男性;对于新式的18位身份证而言,7-14位代表个人的出身年月日,而倒数第二位的奇数或偶数则分别表示男性或女性)。根据身份证号码的这些排列规律,结合Excel的有关函数,我们就能实现利用身份证号码自动输入出生年月日及性别等信息的目的,减轻日常输入的工作量。Excel中提供了一个名为MID的函数,其作用就是返回文本串中从指定位置开始特定数目的字符,该数目由用户指定(另有一个名为MIDB的函数,其作用与MID完全一样,不过MID仅适用于单字节文字,而MIDB函数则可用于汉字等双字节字符),利用该功能我们就能从身份证号码中分别取出个人的出生年份、月份及日期,然后再加以适当的合并处理即可得出个人的出生年月日信息。提示:MID函数的格式为MID(text,start_num,num_chars)或MIDB(text,start_num,num_bytes),其中Text是包含要提取字符的文本串;Start_num是文本中要提取的第一个字符的位置(文本中第一个字符的start_num为1,第二个为2……以此类推);至于Num_chars则是指定希望MID从文本中返回字符的个数。假定某单位人员管理希望通过身份证号码自动得出员工的出生年月日及性别,现以此为例,将有关步骤向广大用户作一简要介绍:1.选中整个B列,然后执行“格式”菜单中的“单元格”命令,打开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年工业设备安装协议
- 2024年全屋门窗定制及安装服务协议
- 2024年企业标志设计转让合同
- 2024年太阳能路灯产品研发与技术转让合同
- 2024年城市供水供电与维护协议
- 2024年城市基础设施建设承包合同
- 2023年中国人民大学物业管理中心招聘考试真题
- 2023年四川省作家协会所属事业单位考核招聘考试真题
- 2024年卫星导航系统应用研发合同
- 2024年工程混凝土原材料采购合同
- 储能系统介绍-电化学能-储能电站
- 分布式文件存储方案
- 小学家长进课堂课件-认识桥梁
- 基于MCGS组态软件开发水位控制系统
- 《微观经济学》教案
- 医院药事管理委员会会议纪要汇编五篇
- 着色牙-四环素牙(口腔科课件)
- 《领导梯队:全面打造领导力驱动型公司》解读教学课件
- 初中音乐-黄河船夫曲教学设计学情分析教材分析课后反思
- 幼儿园中班教案《沙啦沙啦》含反思
- 医院医务科科长岗位竞聘答辩PPT课件(带内容)
评论
0/150
提交评论