版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
目錄第一章緒論 第一章緒論1.1選題背景、目的及意義1.1.1選題背景于2015年11月,大名鼎鼎的Google發(fā)布了TensorFlow的白皮書,并在很多人的關注與見證下將TensorFlow開源,從那時到2019年6月,Google再次發(fā)布更加強大與更加豐富TensorFlow2.0Beta版本。在這幾年間給我們帶來很多新奇,并且具體的體驗。在各行各業(yè)中TensorFlow都可以幫助他們,比如科技研究者、工程師、醫(yī)生、學生、藝術家們,都能通過它幫助到自己的工作與生活,從語言翻譯、皮膚癌癥早期診斷、預防糖尿病等??赡芨又庇^的就是2016年3月AlpahaGOVSLee以4:1戰(zhàn)勝韓國棋手李世石,并且在不久后AlphahaGoMaster以3:0橫掃中國棋手柯潔,正式證明了機器在圍棋這個領域霸權,而這一切都離不開TensorFlow的推動。而我國于2019年開始的垃圾分類也是一大實事熱點,對于垃圾分類來說我國只能說處于起始階段,關于垃圾分類迎來“掃盲”式的知識普及,但是仍然讓很多人非常困擾頭疼,容易犯錯。于是我萌生利用TensorFlow去簡單進行垃圾分類的想法,這是一個系統(tǒng),目前先想要在電腦端上進行實現(xiàn),再然后可以在移動端有移植,能夠幫助人們在大多數(shù)情況下進行垃圾類別的識別。1.1.2選題目的與意義本課題旨在利用強大的機器學習及深度學習框架——TesnsorFlow對我國現(xiàn)在正在逐步推進垃圾分類進行一定幫助,實際就是TensorFlow更多應用的一些實現(xiàn)。TensorFlow得益于在這幾年間一步步布局的龐大的生態(tài)與巨大的影響力,它可以提供整個生命周期中的深度學習與人工智能服務,其中包括了數(shù)據(jù)的預處理、訓練、可視化、分布式訓練、模型部署到移動端等。但是用去實現(xiàn)垃圾分類的方法,這方面算是比較空缺的階段,實際上通過一段的學習是能夠自主完成垃圾分類的,但是這對于一個城市完全適應或者說一個國家去普及相關知識的過程來說,需要一定時間,所以,有該系統(tǒng)的幫助是能夠加快并且舒適的去度過這個過程的。1.2國內(nèi)外相關研究及概況因為國內(nèi)垃圾分類正處于整個的開始階段,所以先把目光放于已經(jīng)垃圾分類基本已經(jīng)成為人民意識的國家。美國紐約,提到這個被譽為世界之都的城市,現(xiàn)在的人很難將這座高樓密布擁有最龐大的CBD群的大都市與滿是污水、臭氣蔓延的垃圾城市聯(lián)系在一起。但事實是,在19世紀末時,紐約的確是世界上最雜亂、骯臟的城市之一,一直到1895年紐約史上第一個垃圾回收和分類系統(tǒng)被那時街道衛(wèi)生的指揮官韋林創(chuàng)建,才好轉(zhuǎn)起來。作為日本最大的城市東京,同樣是人山人海的大都市也曾深受垃圾圍城和環(huán)境污染困擾。于1970年底,日本國會全面去修改《清掃法》[1],制定《廢棄物處理法》,以遏制廢棄物排放,對廢棄物進行適當?shù)姆诸?、保管、收集、運輸、再生和處理,終于東京城市環(huán)境大幅改善[2]。在國內(nèi)來說,垃圾分類是垃圾處理流程中的基礎環(huán)節(jié),但由于配套設施的不完善與人們的垃圾分類意識和能力有所不足,目前來說開展的并不理想,收集到不少的“分類好的垃圾”仍然是混合垃圾[2]。也就是說,垃圾分類必須基于科學化與精細化治理??茖W化,指宏觀上的合理設計;精細化,指因地制宜,簡便易行。所以即使是現(xiàn)在垃圾分類實行的很好的國家城市,當年進行進行垃圾分類推行的時候也花費了大量的時間人力物力。時代的發(fā)展給了我們另外的視野和條件,可以利用現(xiàn)代更新的科技與知識去解決同樣的問題,會更快,更好。利用TensorFlow在圖像識別系統(tǒng)中的應用[,打造一個幫助我們分類的方便的系統(tǒng)能夠給垃圾分類工作的普及提供不小的助力,這也是本系統(tǒng)設計的初衷。1.3本文主要工作內(nèi)容主要內(nèi)容包括以下:第一章:簡單地介紹了使用TensorFlow實現(xiàn)垃圾分類的需求與垃圾分類推行使用TensorFlow的原因和國內(nèi)外垃圾分類的背景與趨勢。第二章:主要關于本文中使用的關鍵技術(TensorFlow)以及相關的知識,以及如何使用這個技術去實現(xiàn)目的即垃圾分類。第三章:主要介紹了系統(tǒng)的需求分析與系統(tǒng)功能的劃分。第四章:詳細的介紹整個系統(tǒng)實現(xiàn)的流程和所需要用到的技術,用到的知識點,并且如何去實現(xiàn)這個系統(tǒng)第五章:主要測試了該系統(tǒng)對于識別的精度,廣度方面是如何的。第六章:對于本文的一個大總結(jié)。 第二章關鍵技術與工具介紹2.1TensorFlow2.1.1TensorFlow基本介紹TensorFlow?是一個采用數(shù)據(jù)流圖(dataflowgraphs),用于數(shù)值計算的開源軟件庫。這是它的官方的描述,也可以的理解為,這是一個開源工具主要用于人工智能相關方面的研究工作。它是由大名鼎鼎的Google大腦小組[3]研發(fā),并用于深度神經(jīng)網(wǎng)絡,機器學習及其相關方面的研究,但是它具有強大的系統(tǒng)通用性,所以它甚至可以被廣泛應用于其他計算領域。2.1.2TensorFlow的應用實際上現(xiàn)在TensorFlow的應用可以說是已經(jīng)深入到你的生活中的每一處角落。它支持多種硬件平臺:它可以支持CPU、GPU混合搭建的數(shù)據(jù)中心的訓練平臺,它也可以支持將數(shù)據(jù)中心訓練好的模型,相對可以方便簡易的部署到不同的移動端應用上,可以支持類似Google自主研發(fā)的TPU處理器;支持多種的開發(fā)環(huán)境;并且在Google的支持下它也能深入到移動端。它很早就幫助Google的核心服務(搜索和廣告)它訓練出來的模型可以用于郵件的過濾,自動回復??梢杂糜跈C器翻譯。甚至是安卓手機的自拍功能,我們看到的攝像頭中圈出人臉的方框,就是人臉識別的最基礎的功能之一。更比如近幾年十分火熱的AlphaGo,汽車的自動駕駛,甚至是智能醫(yī)療等。2.2CNN(卷積神經(jīng)網(wǎng)絡)我們可以將卷積神經(jīng)網(wǎng)絡粗淺的解釋為傳統(tǒng)神經(jīng)網(wǎng)絡的一個改進版,神經(jīng)網(wǎng)絡的結(jié)構(gòu)如圖2-1所示,分別有三層分別對應了:輸入層,隱藏層,輸出層。(隱藏層并不一定只有一層,圖中就是兩層)圖2-1人工神經(jīng)網(wǎng)絡結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡與傳統(tǒng)的神經(jīng)網(wǎng)絡類似,它依舊還是層級網(wǎng)絡,不過層的形式與功能都變化了,如圖2-2所示,這是一個積神經(jīng)網(wǎng)絡結(jié)構(gòu)圖當中的一個卷主要用于圖像分類問題,如圖中對應分為:輸入層、卷積層、池化層、全連接層、softmax層(其中softmax層是主要用于分類問題)圖2-2卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)如上圖所示,卷積神經(jīng)網(wǎng)絡架構(gòu)與傳統(tǒng)的常規(guī)人工網(wǎng)絡架構(gòu)非常相似[4],但是其相對于傳統(tǒng)神經(jīng)網(wǎng)絡而言,優(yōu)點卻十分明顯,比如有共享卷積核,相對于傳統(tǒng)的神經(jīng)網(wǎng)絡對高維數(shù)據(jù)處理起來沒有壓力,也可以做到無需去手動選取圖中特征,只要訓練好權重,可以得到的特征分類效果比較好。2.3CNN卷積神經(jīng)網(wǎng)絡模型卷積神經(jīng)網(wǎng)絡當中有下面幾種經(jīng)典的卷積模型:·LeNet:最早是用于數(shù)字識別的CNN模型?!lexNet:在2012ILSVRC奪得比賽中第一名的CNN模型?!GGNet:它的論文是CNN領域最有影響力的論文之一?!oogLeNet:2014ILSVRC比賽中第一名的CNN模型。·MicrosoftResNet:它在2015ILSVRC的錯誤僅僅為3.6%,已經(jīng)高于人類肉眼識別的錯誤率。2.4PythonPython是一種高級設計語言,它是解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的[5]。由GuidovanRossum發(fā)行于1991年的第一個公開版本已經(jīng)面世就廣受相關研究者的青睞。它的應用很廣泛在:科學計算和統(tǒng)計、人工智能、軟件開發(fā)、網(wǎng)絡爬蟲,web和Internet開發(fā)、等領域都承擔了很重要的角色。2.5如何應用于垃圾分類怎樣將上面的技術應用于垃圾分類,是本文的主要內(nèi)容。基礎的流程是:用輸入設備輸入圖片,使用TensorFlow中卷積神經(jīng)網(wǎng)絡訓練好的模型對圖片進行識別,輸出分類。詳情可見下文系統(tǒng)設計中詳細解釋,在此不多贅述。關于TensorFlow與Python的關系。TensorFlow是Python的一個庫,但與別的庫不同,TensorFlow是一個用于表示抽象計算的框架,當用Python去使用TensorFlow時,代碼做的事是組裝計算圖,然后和計算圖交互(即seesions)。當然不可能完全靠一個TensorFlow的,實際上我們還用了Python中的Pandas,Keras,Numpy等,很多的庫,結(jié)合一起去完成工作。第三章需求分析與系統(tǒng)功能分析3.1系統(tǒng)需求分析3.1.1功能需求(1)輸入圖片: ①攝像頭拍照 ②通過文件載入圖片 (2)識別垃圾: ①當識別為藍色的垃圾時即可回收物 ②當識別為綠色的垃圾時即餐廚垃圾③當識別為紅色的垃圾即有害垃圾 ④當識別為灰色的垃圾時即其他垃圾 (3)輸出結(jié)果3.1.2性能需求(1)識別時間:在95%的情況下,一般的識別時間不超過2秒。 (2)識別廣度:需要對大部分物品識別出是那一類垃圾。 (3)識別精度:對大部分物品識別的準確率要超過90%。 (4)輸入圖片:對jpg,與png格式圖片需要都支持。3.1.3兼容性需求系統(tǒng)支持Windows10操作系統(tǒng); 系統(tǒng)支持Python易用性需求簡易式操作方式,僅僅需要導入圖片即可進行識別,不需要登錄,注冊等即可。3.1.5硬件約束推薦配置:Cpu:intelcorei7-7700k4.4G內(nèi)存:至少1x8GGPU顯存:4G以上硬盤:HDD一個,SSD一個3.2系統(tǒng)主要功能系統(tǒng)的主要功能總結(jié)十分簡單明確,通過拍照或者文件載入圖片輸入到已經(jīng)使用訓練好的模型當中去識別,將其識別的結(jié)果輸出。詳細由見以下流程圖3-1:圖3-1基本流程圖開始,進入輸入圖片,輸入圖片有格式的要求,如果符合需求則進行下一步識別,如果不符合需求則輸出不符合需求,并且回到輸入圖片這一步。進行識別,識別有正確錯誤之分,但是都會輸出結(jié)果,但是有可能會出現(xiàn)無法識別,如果無法識別則回到輸入圖片,可以識別即輸出結(jié)果。3.3系統(tǒng)的功能模塊劃分系統(tǒng)的功能模塊分為以下:輸入圖片功能識別分類功能輸出識別結(jié)果功能3.4本章小結(jié)本章主要將系統(tǒng)的需求和功能進行詳細的解釋,系統(tǒng)的需求很明顯,就是要將輸入的圖片去識別出劃分好的幾種垃圾中的哪一種,這種需求概括來講其實比較少,需求分析也有提到有硬件約束的條件,要知道要去使用代碼去訓練出自己想要的模型以供識別,是比較吃硬件的,總的來說電腦配置越好迭代速度會越快。第四章基于TensorFlow的簡單的垃圾分類系統(tǒng)的實現(xiàn)4.1系統(tǒng)架構(gòu)整個系統(tǒng)的架構(gòu)有以下組成,輸入設備,輸入到電腦終端,電腦終端對圖像進行圖像分類,圖像處理,圖像識別,識別后的圖像再分類的工作,然后輸出結(jié)果如圖4-1所示:圖4-1架構(gòu)圖此系統(tǒng)基于TensorFlow設計的分類大腦,對圖像的處理大致分為這兩步:(1)使用OpenCV對輸入的圖片進行預處理(2)使用基于TensorFlow的卷積神經(jīng)網(wǎng)絡模型的實現(xiàn)圖像的分類[6]4.2TensorFlow進行模型訓練4.2.1收集獲取數(shù)據(jù)集通過網(wǎng)絡和自己拍的方式,去收集各類的數(shù)據(jù)集,驗證集總共收集13000多張。如下圖4-1是一部分的收據(jù)集,其中txt是標簽。圖4-1收集的數(shù)據(jù)集將其劃分為四大類:可回收物、有害垃圾、廚余垃圾、其他垃圾。數(shù)據(jù)具體劃分情況即數(shù)據(jù)集的分布是圖4-2這樣的圖4-2數(shù)據(jù)分布圖4.2.2對數(shù)據(jù)集進行預處理在Keras中會用到一個被稱為數(shù)據(jù)生成器(data-generator)的東西,對神經(jīng)網(wǎng)絡輸入數(shù)據(jù),這樣可以使得它會在整個數(shù)據(jù)上進行不斷的循環(huán)。這時候會創(chuàng)建一個小型訓練集通過對圖像進行處理,圖像會經(jīng)過人為的各種變換來增加它的數(shù)量,它是使用了內(nèi)置的數(shù)據(jù)生成器,來進行一些數(shù)據(jù)的隨機轉(zhuǎn)換,也被成為數(shù)據(jù)增強,之后為了增加數(shù)據(jù)樣本各方面的豐富度。通過旋轉(zhuǎn)(Flips)、移位(TransLations)、CoarseDropout等方法進行數(shù)據(jù)加強部分代碼如圖4-3,詳情請見附錄。圖4-3預處理代碼增強之后的效果是圖4-4這樣的,這樣可以方便CNN的模型去對它進行學習和分類。圖4-4預處理增強之后4.2.3搭建CNN網(wǎng)絡接下來就是網(wǎng)絡的搭建了,我這里使用的ResNet18是ResNet(又稱為深度殘差網(wǎng)絡)結(jié)構(gòu)的變種。與傳統(tǒng)的網(wǎng)絡結(jié)構(gòu)不同,在殘差網(wǎng)絡結(jié)構(gòu)中,通過“shortcutconnecttions(捷徑連接)”的方式,因此傳統(tǒng)網(wǎng)絡中層次越深越容易出現(xiàn)錯誤的弊端得到解決,這是ResNet34有34層的結(jié)構(gòu)。其基本結(jié)構(gòu)如圖4-5圖4-5基礎的深度殘差網(wǎng)絡結(jié)構(gòu)圖如圖所示為了使得能使模型中網(wǎng)絡的層數(shù)能夠比較大的加深,它學習與形成殘差的函數(shù),實際上的操作是它對每層的輸入做一個reference。這時候殘差函數(shù)[7]可以比較容易的優(yōu)化。在計算機視覺當中,我們所謂的特征“等級”會因為網(wǎng)絡層數(shù)的深度的加深導致變高,從而梯度彌散也就是所謂的梯度爆炸會變成訓練一個比較深層次的網(wǎng)絡模型的嚴重問題,也即是深到一定地步的時候會導致誤差率上升,這是層數(shù)越深就無法收斂導致。為解決這一問題,何凱明等[8]人提出了一種具有殘差連接的網(wǎng)絡結(jié)構(gòu)。如圖4-6所示。圖4-6殘差連接結(jié)構(gòu)具體的ResNet還有更多的解釋,詳情這里就不多贅述回到本文的主要完成內(nèi)容中來。根據(jù)實際情況,我選用的是ResNet18的結(jié)構(gòu)。首先要知道,ResNet的組成是基礎模塊Bottleneck/Basicblock,通過make_layer生成四個的大的layer,然后在forward中排序。__init__的兩個重要參數(shù),block和layers,block有兩種(Bottleneck/basicblock),不同模型調(diào)用的類不同,在ResNet中調(diào)用的是Basicblock類。如圖4-7所示:圖4-7ResNet網(wǎng)絡結(jié)構(gòu)圖ResNet18是有帶有權重的18層,包括卷積層和全連接層,不包括池化層和BN層,18=17個卷積層+1全連接層而Basicblock的resdual包含兩個卷積層,第一層卷積層的kernel=3。代碼如圖4-8所示:圖4-8Basicblock代碼圖根據(jù)ResNet18網(wǎng)絡結(jié)構(gòu),本設計使用了如圖4-9所示代碼構(gòu)建本次使用的網(wǎng)絡。圖4-9構(gòu)建網(wǎng)絡代碼構(gòu)建網(wǎng)絡之后就是將預處理之后數(shù)據(jù)放進ResNet18的網(wǎng)絡中進行初步特征提取。但是由于自身數(shù)據(jù)集參差不齊的質(zhì)量,光線明暗,甚至因為是垃圾,“垃圾圖片”本身的臟亂的特點,和過擬合的問題,最終使用ResNet的效果并不太理想。訓練代碼如圖4-10所示:圖4-10訓練代碼訓練結(jié)果的可視化進行如圖4-11和4-12所示:圖4-11可視化圖4-12可視化4.2.4遷移學習經(jīng)過一系列調(diào)參的操作之后,實際得到的如上兩圖仍舊是準確率無法得到再次的提升了,于是我通過別的方法讓準確率再一次的提升。這里所用到的方法:遷移學習,即Transfer-learning,它是一種機器學習方法,用不太恰當?shù)难哉Z來描述的話就是:溫故而知新。它的目標是將從一個環(huán)境A所學到的知識,用于學習另一個環(huán)境B的任務。遷移學習通過已學習的相關任務A轉(zhuǎn)移來改進學習的新任務B。遷移學習對人類來說很常見,比如,現(xiàn)實生活中會發(fā)現(xiàn),學習認識狗能夠幫助你認識貓,學習拉小提琴能夠幫你學習拉二胡,這是因為人具有遷移知識幫助自己學習的能力,對于電腦來講,通過一些方法也是可以達成同樣的目標。對于遷移學習的定義[9]:給出一個源域Ds={Xs,Fs(X)},再給出一個學習任務Ts,然后是一個目標域DT={Xt,Ft(X)}再是學習任務Tt,遷移學習的目標就是在源域與目標域不同或者是學習任務Tt與學習任務Ts不同的條件下通過使用學習任務Ts和源域Ds={Xs,Fs(X)}得到的相關知識幫學習目標的在目標域Dt的預測函數(shù)Ft(.)。關于遷移學習的一些研究:比如基于模型生成的遷移學習方法,當前很多的遷移學習算法都是基于如何判別模型的學習算法[10],判別算法根據(jù)給定的一個源域的數(shù)據(jù)A,通過直接的訓練能夠獲得的判別模型P(B|A),但是因為源域和目標域數(shù)據(jù)分布是不一樣的,又因為判別模型沒有考慮有關聯(lián)合概率的情況P(A,B),所以在某些時候就不能夠得到比較好的預測函數(shù)。不同于這個判別模型,生成模型是通過計算得出聯(lián)合概率P(A,B),再去計算P(B|A),生成模型也因此提供了一個相對較好的機制,對源域和目標域的數(shù)據(jù)不相同,分布不相同,進行生成建模,達到一個比較好的知識遷移提高預測函數(shù)準確度。在本文主要的方向,圖像處理方面有一種[11]翻譯遷移學習方法,通過使用文本的數(shù)據(jù),來幫助圖像聚類、也有一種[12]從無標簽數(shù)據(jù)進行遷移學習的方法,這個方法使用了系數(shù)編碼的技術從無標簽的數(shù)據(jù)中上構(gòu)造出高層的特征,從而能夠提高圖像的分類性能。我們結(jié)合圖來看,如下圖4-13,傳統(tǒng)的器學習在同的學習任務時需要建立不同的模型,去學習不同的參數(shù),而對于遷移學習(圖4-14),只需要利用源域中的數(shù)據(jù)將知識遷移到目標域,就能完成模型建立。圖4-13圖4-14不難發(fā)現(xiàn),遷移學習適用于知識點存在重合的情況,這樣的時候可以通過學習A的知識達到也了解B的知識,那么對于本文來講,收集到的垃圾數(shù)據(jù)集,也并不是獨立存在的樣本,它同其他數(shù)據(jù)集存在分布重合的情況。因此將通過初步特征提取后的模型參數(shù)遷移到ResNet的模型上,通過ResNet的知識遷移學習,系統(tǒng)的準確率能夠得到提升。下圖4-15是遷移學習的部分代碼圖4-15經(jīng)過加上了遷移學習的步驟之后,本系統(tǒng)的整個流程步驟也發(fā)生了一些改變,具體改變的流程如圖4-16所示:圖4--16流程圖詳細實現(xiàn)流程:數(shù)據(jù)的采集,數(shù)據(jù)預處理,初步提取數(shù)據(jù)特征,遷移學習,識別測試。其中遷移學習之后的的可視化準確率如圖4-17所示:圖4-17測試準確率可視化圖4.2.5ResNet參數(shù)在上面ResNet18的結(jié)構(gòu)[13]的時候我們提到了兩個重要參數(shù),block和layers,block有兩種(Bottleneck/basicblock)。在較為淺層的ResNet中(大部分指ResNet34以下),用到的基礎模塊是BasicBlock,它由兩個(3,3,out_plane)的conv2d[]堆疊而成。在使用這個BasicBlock的時候,需要根據(jù)堆疊具體的參數(shù):輸入輸出通道數(shù)目,堆疊幾個BasicBlock,就能確定每個stage中basicblock的基本使用情況。那么BasicBlock是如何運作的呢?resnet18()函數(shù)調(diào)用ResNet()類,通過輸入初始化參數(shù):BasicBlock,[2,2,2,2],實例化一個resnet18model:如圖4-18所示,ResNet()大類(代碼使用的rensent的pytorch源碼),輸入哪些初始化話參數(shù)就可以實例化為resnet18模型:BasicBlock圖4--18下面加上基礎模塊BasicBlock也是殘差塊residualblock的圖解4-19圖4-19BasicBlock要解決的一個重要問題就是,identitymapping這個直連的維度和F(x)輸出的維度不一樣無法直接相加的問題:采用一個kernel=1的conv2d卷積核融合并降低通道信息,如果H/W尺度也不一樣就設計stride。只要stride>1或者輸入和輸出通道數(shù)目不同都可以斷定residulF(x)部分產(chǎn)生的featuremaps相對于原來的featuremaps的分辨率降低了,此時的identitymap都要進行下采樣。也就是identitymap部分要和residual部分進行相同的尺寸變換(包括H/W和channel),這兩部分的輸入輸出通道(planes)要相同,stride(H/W)也相同[14]。之后是做stage的函數(shù)_make_layer(),如圖4-20注意在resnet18()函數(shù)中,直接調(diào)用了BasicBlock類作為實參,并沒有使用BasicBlock實例:圖4-20 如上就是ResNet[14]的一些重要的參數(shù)以及它的一些構(gòu)成,相比于其他的網(wǎng)絡結(jié)構(gòu),它的殘差結(jié)構(gòu)主要就是針對層次越深就有可能導致梯度爆炸等問題的解決方案,同時殘差結(jié)果對于數(shù)據(jù)的變化/波動會更加的敏感也對于網(wǎng)絡權重的波動更加的銘感,所以對于更加多的數(shù)據(jù)它能夠更好的處理,其次相比較傳統(tǒng)的VGG網(wǎng)絡,它的復雜度降低許多,所需要的的參數(shù)量也下降了不少,能夠用到的網(wǎng)絡層數(shù)也更深,同時不會出現(xiàn)梯度爆炸,也因此分類的準確度會得到很大程度的提升。雖然相對于AlexNetVGG等經(jīng)典的網(wǎng)絡結(jié)構(gòu)來說它的訓練和推理速度肯定是比較慢的,其次在硬件配置不夠的情況下速度問題就會突出,但是最重要的一點在于根據(jù)自己需要項目的目標去分析,根據(jù)我的項目要求如果使用AlexNet等經(jīng)典但比較舊的網(wǎng)絡結(jié)構(gòu)的話,很可能因為數(shù)據(jù)量的問題和分類過多導致其過擬合,實際實踐與操作中直接使用AlexNet模型的情況下準確率只有70%就不能夠再提高了(本項目)所以ResNet無疑是更好的選擇4.2.6識別測試在通過了數(shù)據(jù)預處理,搭建網(wǎng)絡,進行訓練,提取特征,遷移學習,調(diào)整ResNet18的參數(shù)之后開始了對ResNet進行不斷的迭代訓練,然后將迭代過程效果最好的進行標記如圖4-21,圖4-21然后使用訓練好的模型,與我分類的測試集進行測試,得出的測試混準確率還不錯,達到了90%如下圖4-22圖4-224.3運行效果運行效果基本能夠?qū)Υ蟛糠值臏y試集圖片進行比較準確的識別,下面圖4-23為一些中間段實時效果展示,圖4-24和圖4-25運行最終界面結(jié)果展示:圖4-23中間時段圖4-24圖4-254.4本章總結(jié)本章主要從幾個部分描述了這個如何去實現(xiàn)的,通過收集到數(shù)據(jù)集,分類,到數(shù)據(jù)的預處理,再到搭建整個ResNet網(wǎng)絡,然后怎樣去用到遷移學習,調(diào)整ResNet的參數(shù)的幾大重要內(nèi)容,這些是整個系統(tǒng)的支撐部分和原理加上實現(xiàn)部分,整個部分內(nèi)容比較多且雜,因為為什么要使用這個技術去做,或者說為什么要這樣去做都有思路和邏輯思維。整個的流程上來說算是非常短的了,因為系統(tǒng)沒有設計太多交互的功能,也是因為有整個設計為簡約這個概念而來的。雖然流程補償,但是實際操作起來確是比較麻煩,在第三章小結(jié)中有提到,迭代是相當耗費時間的一件事情,首先因為數(shù)據(jù)集數(shù)量是不小的,所以整合運行的時間也會比較長,加上于在筆記本電腦上操作,本身配置不足的原因就導致了會更加在時間這個問題上雪上加霜。并且因為整個過程需要不斷去調(diào)整參數(shù),迭代,訓練,看出來的效果,如果不對,又需要再次調(diào)參,迭代,訓練。整個過程是無法省略的,只能不斷去嘗試去更正。第五章系統(tǒng)測試5.1系統(tǒng)功能測試(1)設備與環(huán)境:操作系統(tǒng):win10環(huán)境:Python3.6,TensorFlow2.0以上,Keras,Pytorch,CPU:corei5-6300HQ8G內(nèi)存顯卡:NVIDAGTX965M內(nèi)存:HHD1TSSD240G(2)使用場景設計與使用場景測試[15]:①找出基本流和備選流表5-1基本流與備選流表基本流進入系統(tǒng)后,選擇載入圖片,點擊識別,看結(jié)果備選流1無法載入圖片備選流2圖片格式不對備選流3無法識別是什么備選流4使用過程中程序卡死 ②生成相應場景表5-2生成相應的使用場景場景1成功識別基本流場景2無法載入圖片基本流,備選流1場景3無法識別該圖片基本流,備選流3場景4系統(tǒng)使用過程中卡死基本流,備選流4場景5輸入圖片的格式不對基本流,本旋流2 ③根據(jù)場景進行測試: Ⅰ.正常情況下,基本流完成,沒有問題。Ⅱ.使用非jpg,png,圖片的格式,系統(tǒng)顯示輸入圖片格式不正確回到輸入圖片步驟。Ⅲ.使用jpg,png圖片格式的圖,發(fā)現(xiàn)有大致以下情況圖無法識別:一張圖中有2個或以上類別的垃圾圖中并沒有垃圾圖片圖的質(zhì)量太過低,無法識別Ⅳ.基本很少遇到卡死的情況,因為系統(tǒng)原因并不會有高并發(fā)的出現(xiàn),暫且忽略。5.2系統(tǒng)準確率測試系統(tǒng)的準確率測試,通過自己分類出來的測試集,對訓練的模型即系統(tǒng)進行垃圾分類的準確率測試,部分結(jié)果如圖5-1,5-2,5-3所示:圖5-1圖5-2圖5-3本系統(tǒng)通過自己的訓練集與測試集得出的準確率為94%左右。第六章結(jié)論垃圾分類的解決方案當中,以TensorFlow做的垃圾分類系統(tǒng)算是耗人力物力時間較少的一類,以卷積神經(jīng)網(wǎng)絡的方式訓練出可以識別與分類垃圾的模型,對其進行識別分類。系統(tǒng)設計方案實現(xiàn)的比較簡單,而且也是有實際的作用的。目前垃圾分類的各個地區(qū)來講,以我所在的廣州市來說,很多居民社區(qū)當中的分類垃圾桶,只是起到了多了兩個垃圾桶的作用,居民大多還是不會將其分類好,當然可以肯定的是,這是垃圾分類的意識與知識的不足,有人想分,但不會,還要學習。忙碌的都市生活人群大多不愿意發(fā)上這點時間去學習分類知識,只能通過潛移默化的方式去培養(yǎng)人們的分類意識,將垃圾分類創(chuàng)新的用人工智能的技術去結(jié)合,低成本,對提高分類意識也是很有幫助的。參考文獻[1]新華網(wǎng)編輯部.日本:一個煙盒要分三類丟棄[J],幸福家庭,2018(5):1-1.[2]張帆.“垃圾分類”國外有何高招?[J],小康,2019(23):72-73[3]Google大腦小組.關于TensorFlow,/[Z],2018,(03)[4]戴鳳智魏寶昌歐陽育星金霞.基于深度學習的視頻跟蹤研究進展綜述[J],計算機工程與應用,2019(10):21-34[5]李影俠謝佳東胡孔法楊濤趙玉鳳.中醫(yī)住院病案首頁費用信息質(zhì)控系統(tǒng)設計與實現(xiàn)[J],計算機時代,2018(12):41-43.[6]吳睿曦肖秦琨.基于深度網(wǎng)絡和數(shù)據(jù)增強的多物體圖像識別[J],國外電子測量技術,2019(05):19-21[7]張萌巖何儒漢詹偉李敏陳佳.基于改進的殘差神經(jīng)網(wǎng)絡的服裝標簽屬性識別[J],計算機與數(shù)字工程,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]王崢賀文.深度殘差網(wǎng)絡在塵肺病診斷中的應用初探%PrimaryexplorationonapplicationofResNetindeeplearningofpneumoconiosisdiagnosis[J].中國工業(yè)醫(yī)學雜志,2019,032(001):31-33.[14]徐培超,陳雯柏,陳祥鳳,等.多任務及Resnet網(wǎng)絡在人臉多屬性識別中的應用[J].小型微型計算機系統(tǒng),2018,39(12):162-166.[15]施寅生王峰齊璇宗建建.基于TTCN-3的Web應用功能測試方法[J].計算機應用,2010(8):4-4.致謝大學四年里學習到很多知識,跟很多志同道合的朋友相識相知真的也是萬幸。這里要多謝父母對自己選擇計算機軟件工程這個專業(yè)的支持,在選專業(yè)時開始比較的迷茫,對現(xiàn)專業(yè)當時是游移不定的最終也是父母給與信心,讓我能夠選擇這個比較感興趣的專業(yè)吧,其次是學校的老師們,老師們盡心盡責,并沒有因為我們有時候的無禮和懈怠就放棄,同時也是專業(yè)且認真的教給我們安身立命的本錢。感謝同學舍友一路的陪伴,前進的道路不感到孤獨,就是因為我知道一直有你們與我共同前行。最后對自己表示感謝,感謝你沒有因為一時的疑惑和難題就止步不前,感謝你還算努力的學習了專業(yè)的各方面知識,感謝你耐的下心來鉆研,望今后繼續(xù)保持,砥礪前行。附錄以下是本項目的全部代碼截圖:Data_pre.py:resent.py:Test_model.py:Train.py:Translate.py:Utils.py:
ExcelXP的八則快速輸入技巧如果我們在用ExcelXP處理龐大的數(shù)據(jù)信息時,不注意講究技巧和方法的話,很可能會花費很大的精力。因此如何巧用ExcelXP,來快速輸入信息就成為各個ExcelXP用戶非常關心的話題,筆者向大家介紹幾則這方面的小技巧。1、快速輸入大量含小數(shù)點的數(shù)字如果我們需要在ExcelXP工作表中輸入大量的帶有小數(shù)位的數(shù)字時,按照普通的輸入方法,我們可能按照數(shù)字原樣大小直接輸入,例如現(xiàn)在要在單元格中輸入0.05這個數(shù)字時,我們會把“0.05”原樣輸入到表格中。不過如果需要輸入若干個帶有小數(shù)點的數(shù)字時,我們再按照上面的方法輸入的話,每次輸入數(shù)字時都需要重復輸入小數(shù)點,這樣工作量會變大,輸入效率會降低。其實,我們可以使用ExcelXP中的小數(shù)點自動定位功能,讓所有數(shù)字的小數(shù)點自動定位,從而快速提高輸入速度。在使用小數(shù)點自動定位功能時,我們可以先在ExcelXP的編輯界面中,用鼠標依次單擊“工具”/“選項”/“編輯”標簽,在彈出的對話框中選中“自動設置小數(shù)點”復選框,然后在“位數(shù)”微調(diào)編輯框中鍵入需要顯示在小數(shù)點右面的位數(shù)就可以了。以后我們再輸入帶有小數(shù)點的數(shù)字時,直接輸入數(shù)字,而小數(shù)點將在回車鍵后自動進行定位。例如,我們要在某單元格中鍵入0.06的話,可以在上面的設置中,讓“位數(shù)”選項為2,然后直接在指定單元格中輸入6,回車以后,該單元格的數(shù)字自動變?yōu)椤?.06”,怎么樣簡單吧?2、快速錄入文本文件中的內(nèi)容現(xiàn)在您手邊假如有一些以純文本格式儲存的文件,如果此時您需要將這些數(shù)據(jù)制作成ExcelXP的工作表,那該怎么辦呢?重新輸入一遍,大概只有頭腦有毛病的人才會這樣做;將菜單上的數(shù)據(jù)一個個復制/粘貼到工作表中,也需花很多時間。沒關系!您只要在ExcelXP中巧妙使用其中的文本文件導入功能,就可以大大減輕需要重新輸入或者需要不斷復制、粘貼的巨大工作量了。使用該功能時,您只要在ExcelXP編輯區(qū)中,依次用鼠標單擊菜單欄中的“數(shù)據(jù)/獲取外部數(shù)據(jù)/導入文本文件”命令,然后在導入文本會話窗口選擇要導入的文本文件,再按下“導入”鈕以后,程序會彈出一個文本導入向?qū)υ捒?,您只要按照向?qū)У奶崾具M行操作,就可以把以文本格式的數(shù)據(jù)轉(zhuǎn)換成工作表的格式了。3、快速輸入大量相同數(shù)據(jù)如果你希望在不同的單元格中輸入大量相同的數(shù)據(jù)信息,那么你不必逐個單元格一個一個地輸入,那樣需要花費好長時間,而且還比較容易出錯。你可以通過下面的操作方法在多個相鄰或不相鄰的單元格中快速填充同一個數(shù)據(jù),具體方法為:首先同時選中需要填充數(shù)據(jù)的單元格。若某些單元格不相鄰,可在按住Ctrl鍵的同時,點擊鼠標左鍵,逐個選中;其次輸入要填充的某個數(shù)據(jù)。按住Ctrl鍵的同時,按回車鍵,則剛才選中的所有單元格同時填入該數(shù)據(jù)。4、快速進行中英文輸入法切換一張工作表常常會既包含有數(shù)字信息,又包含有文字信息,要錄入這樣一種工作表就需要我們不斷地在中英文之間反復切換輸入法,非常麻煩,為了方便操作,我們可以用以下方法實現(xiàn)自動切換:首先用鼠標選中需要輸入中文的單元格區(qū)域,然后在輸入法菜單中選擇一個合適的中文輸入法;接著打開“有效數(shù)據(jù)”對話框,選中“IME模式”標簽,在“模式”框中選擇打開,單擊“確定”按鈕;然后再選中輸入數(shù)字的單元格區(qū)域,在“有效數(shù)據(jù)”對話框中,單擊“IME模式”選項卡,在“模式”框中選擇關閉(英文模式);最后單擊“確定”按鈕,這樣用鼠標分別在剛才設定的兩列中選中單元格,五筆和英文輸入方式就可以相互切換了。5、快速刪除工作表中空行刪除ExcelXP工作表中的空行,一般的方法是需要將空行都找出來,然后逐行刪除,但這樣做操作量非常大,很不方便。那么如何才能減輕刪除工作表中空行的工作量呢?您可以使用下面的操作方法來進行刪除:首先打開要刪除空行的工作表,在打開的工作表中用鼠標單擊菜單欄中的“插入”菜單項,并從下拉菜單中選擇“列”,從而插入一新的列X,在X列中順序填入整數(shù);然后根據(jù)其他任何一列將表中的行排序,使所有空行都集中到表的底部。刪去所有空行中X列的數(shù)據(jù),以X列重新排序,然后刪去X列。按照這樣的刪除方法,無論工作表中包含多少空行,您就可以很快地刪除了。6、快速對不同單元格中字號進行調(diào)整在使用ExcelXP編輯文件時,常常需要將某一列的寬度固定,但由于該列各單元格中的字符數(shù)目不等,致使有的單元格中的內(nèi)容不能完全顯示在屏幕上,為了讓這些單元格中的數(shù)據(jù)都顯示在屏幕上,就不得不對這些單元格重新定義較小的字號。如果依次對這些單元格中的字號調(diào)整的話,工作量將會變得很大。其實,您可以采用下面的方法來減輕字號調(diào)整的工作量:首先新建或打開一個工作簿,并選中需要ExcelXP根據(jù)單元格的寬度調(diào)整字號的單元格區(qū)域;其次單擊用鼠標依次單擊菜單欄中的“格式”/“單元格”/“對齊”標簽,在“文本控制”下選中“縮小字體填充”復選框,并單擊“確定”按鈕;此后,當你在這些單元格中輸入數(shù)據(jù)時,如果輸入的數(shù)據(jù)長度超過了單元格的寬度,ExcelXP能夠自動縮小字符的大小把數(shù)據(jù)調(diào)整到與列寬一致,以使數(shù)據(jù)全部顯示在單元格中。如果你對這些單元格的列寬進行了更改,則字符可自動增大或縮小字號,以適應新的單元格列寬,但是對這些單元格原設置的字體字號大小則保持不變。7、快速輸入多個重復數(shù)據(jù)在使用ExcelXP工作表的過程中,我們經(jīng)常要輸入大量重復的數(shù)據(jù),如果依次輸入,無疑工作量是巨大的?,F(xiàn)在我們可以借助ExcelXP的“宏”功能,來記錄首次輸入需要重復輸入的數(shù)據(jù)的命令和過程,然后將這些命令和過程賦值到一個組合鍵或工具欄的按鈕上,當按下組合鍵時,計算機就會重復所記錄的操作。使用宏功能時,我們可以按照以下步驟進行操作:首先打開工作表,在工作表中選中要進行操作的單元格;接著再用鼠標單擊菜單欄中的“工具”菜單項,并從彈出的下拉菜單中選擇“宏”子菜單項,并從隨后彈出的下級菜單中選擇“錄制新宏”命令;設定好宏后,我們就可以對指定的單元格,進行各種操作,程序?qū)⒆詣訉λM行的各方面操作記錄復制。8、快速處理多個工作表有時我們需要在ExcelXP中打開多個工作表來進行編輯,但無論打開多少工作表,在某一時刻我們只能對一個工作表進行編輯,編輯好了以后再依次編輯下一個工作表,如果真是這樣操作的話,我們倒沒有這個必要同時打開多個工作表了,因為我們同時打開多個工作表的目的就是要減輕處理多個工作表的工作量的,那么我們該如何實現(xiàn)這樣的操作呢?您可采用以下方法:首先按住“Shift"鍵或“Ctrl"鍵并配以鼠標操作,在工作簿底部選擇多個彼此相鄰或不相鄰的工作表標簽,然后就可以對其實行多方面的批量處理;接著在選中的工作表標簽上按右鍵彈出快捷菜單,進行插入和刪除多個工作表的操作;然后在“文件”菜單中選擇“頁面設置……”,將選中的多個工作表設成相同的頁面模式;再通過“編輯”菜單中的有關選項,在多個工作表范圍內(nèi)進行查找、替換、定位操作;通過“格式”菜單中的有關選項,將選中的多個工作表的行、列、單元格設成相同的樣式以及進行一次性全部隱藏操作;接著在“工具”菜單中選擇“選項……”,在彈出的菜單中選擇“視窗”和“編輯”按鈕,將選中的工作表設成相同的視窗樣式和單元格編輯屬性;最后選中上述工作表集合中任何一個工作表,并在其上完成我們所需要的表格,則其它工作表在相同的位置也同時生成了格式完全相同的表格。高效辦公Excel排序方法"集中營"排序是數(shù)據(jù)處理中的經(jīng)常性工作,Excel排序有序數(shù)計算(類似成績統(tǒng)計中的名次)和數(shù)據(jù)重排兩類。本文以幾個車間的產(chǎn)值和名稱為例,介紹Excel2000/XP的數(shù)據(jù)排序方法。一、數(shù)值排序1.RANK函數(shù)RANK函數(shù)是Excel計算序數(shù)的主要工具,它的語法為:RANK(number,ref,order),其中number為參與計算的數(shù)字或含有數(shù)字的單元格,ref是對參與計算的數(shù)字單元格區(qū)域的絕對引用,order是用來說明排序方式的數(shù)字(如果order為零或省略,則以降序方式給出結(jié)果,反之按升序方式)。例如圖1中E2、E3、E4單元格存放一季度的總產(chǎn)值,計算各車間產(chǎn)值排名的方法是:在F2單元格內(nèi)輸入公式“=RANK(E2,$E$2:$E$4)”,敲回車即可計算出鑄造車間的產(chǎn)值排名是2。再將F2中的公式復制到剪貼板,選中F3、F4單元格按Ctrl+V,就能計算出其余兩個車間的產(chǎn)值排名為3和1。如果B1單元格中輸入的公式為“=RANK(E2,$E$2:$E$4,1)”,則計算出的序數(shù)按升序方式排列,即2、1和3。需要注意的是:相同數(shù)值用RANK函數(shù)計算得到的序數(shù)(名次)相同,但會導致后續(xù)數(shù)字的序數(shù)空缺。假如上例中F2單元格存放的數(shù)值與F3相同,則按本法計算出的排名分別是3、3和1(降序時)。2.COUNTIF函數(shù)COUNTIF函數(shù)可以統(tǒng)計某一區(qū)域中符合條件的單元格數(shù)目,它的語法為COUNTIF(range,criteria)。其中range為參與統(tǒng)計的單元格區(qū)域,criteria是以數(shù)字、表達式或文本形式定義的條件。其中數(shù)字可以直接寫入,表達式和文本必須加引號。仍以圖1為例,F(xiàn)2單元格內(nèi)輸入的公式為“=COUNTIF($E$2:$E$4,">"&E2)+1”。計算各車間產(chǎn)值排名的方法同上,結(jié)果也完全相同,2、1和3。此公式的計算過程是這樣的:首先根據(jù)E2單元格內(nèi)的數(shù)值,在連接符&的作用下產(chǎn)生一個邏輯表達式,即“>176.7”、“>167.3”等。COUNTIF函數(shù)計算出引用區(qū)域內(nèi)符合條件的單元格數(shù)量,該結(jié)果加一即可得到該數(shù)值的名次。很顯然,利用上述方法得到的是降序排列的名次,對重復數(shù)據(jù)計算得到的結(jié)果與RANK3.IF函數(shù)Excel自身帶有排序功能,可使數(shù)據(jù)以降序或升序方式重新排列。如果將它與IF函數(shù)結(jié)合,可以計算出沒有空缺的排名。以圖1中E2、E3、E4單元格的產(chǎn)值排序為例,具體做法是:選中E2單元格,根據(jù)排序需要,單擊Excel工具欄中的“降序排序”或“升序排序”按鈕,即可使工作表中的所有數(shù)據(jù)按要求重新排列。假如數(shù)據(jù)是按產(chǎn)值由大到?。ń敌颍┡帕械?,而您又想賦予每個車間從1到n(n為自然數(shù))的排名。可以在G2單元格中輸入1,然后在G3單元格中輸入公式“=IF(E3=E2,G3,G3+1)”,只要將公式復制到G4等單元格,就可以計算出其他車間的產(chǎn)值排名。二、文本排序選舉等場合需要按姓氏筆劃為文本排序,Excel提供了比較好的解決辦法。如果您要將圖1數(shù)據(jù)表按車間名稱的筆劃排序,可以使用以下方法:選中排序關鍵字所在列(或行)的首個單元格(如圖1中的A1),單擊Excel“數(shù)據(jù)”菜單下的“排序”命令,再單擊其中的“選項”按鈕。選中“排序選項”對話框“方法”下的“筆畫排序”,再根據(jù)數(shù)據(jù)排列方向選擇“按行排序”或“按列排序”,“確定”后回到“排序”對話框(圖2)。如果您的數(shù)據(jù)帶有標題行(如圖1中的“單位”之類),則應選中“有標題行”(反之不選),然后打開“主要關鍵字”下拉列表,選擇其中的“單位”,選中排序方式(“升序”或“降序”)后“確定”,表中的所有數(shù)據(jù)就會據(jù)此重新排列。此法稍加變通即可用于“第一名”、“第二名”等文本排序,請讀者自行摸索。三、自定義排序如果您要求Excel按照“金工車間”、“鑄造車間”和“維修車間”的特定順序重排工作表數(shù)據(jù),前面介紹的幾種方法就無能為力了。這類問題可以用定義排序規(guī)則的方法解決:首先單擊Excel“工具”菜單下的“選項”命令,打開“選項”對話框中的“自定義序列”選項卡(圖3)。選中左邊“自定義序列”下的“新序列”,光標就會在右邊的“輸入序列”框內(nèi)閃動,您就可以輸入“金工車間”、“鑄造車間”等自定義序列了,輸入的每個序列之間要用英文逗號分隔,或者每輸入一個序列就敲回車。如果序列已經(jīng)存在于工作表中,可以選中序列所在的單元格區(qū)域單擊“導入”,這些序列就會被自動加入“輸入序列”框。無論采用以上哪種方法,單擊“添加”按鈕即可將序列放入“自定義序列”中備用(圖3)。使用排序規(guī)則排序的具體方法與筆劃排序很相似,只是您要打開“排序選項”對話框中的“自定義排序次序”下拉列表,選中前面定義的排序規(guī)則,其他選項保持不動?;氐健芭判颉睂υ捒蚝蟾鶕?jù)需要選擇“升序”或“降序”,“確定”后即可完成數(shù)據(jù)的自定義排序。需要說明的是:顯示在“自定義序列”選項卡中的序列(如一、二、三等),均可按以上方法參與排序,請讀者注意Excel提供的自定義序列類型。談談Excel輸入的技巧在Excel工作表的單元格中,可以使用兩種最基本的數(shù)據(jù)格式:常數(shù)和公式。常數(shù)是指文字、數(shù)字、日期和時間等數(shù)據(jù),還可以包括邏輯值和錯誤值,每種數(shù)據(jù)都有它特定的格式和輸入方法,為了使用戶對輸入數(shù)據(jù)有一個明確的認識,有必要來介紹一下在Excel中輸入各種類型數(shù)據(jù)的方法和技巧。一、輸入文本Excel單元格中的文本包括任何中西文文字或字母以及數(shù)字、空格和非數(shù)字字符的組合,每個單元格中最多可容納32000個字符數(shù)。雖然在Excel中輸入文本和在其它應用程序中沒有什么本質(zhì)區(qū)別,但是還是有一些差異,比如我們在Word、PowerPoint的表格中,當在單元格中輸入文本后,按回車鍵表示一個段落的結(jié)束,光標會自動移到本單元格中下一段落的開頭,在Excel的單元格中輸入文本時,按一下回車鍵卻表示結(jié)束當前單元格的輸入,光標會自動移到當前單元格的下一個單元格,出現(xiàn)這種情況時,如果你是想在單元格中分行,則必須在單元格中輸入硬回車,即按住Alt鍵的同時按回車鍵。二、輸入分數(shù)幾乎在所有的文檔中,分數(shù)格式通常用一道斜杠來分界分子與分母,其格式為“分子/分母”,在Excel中日期的輸入方法也是用斜杠來區(qū)分年月日的,比如在單元格中輸入“1/2”,按回車鍵則顯示“1月2日”,為了避免將輸入的分數(shù)與日期混淆,我們在單元格中輸入分數(shù)時,要在分數(shù)前輸入“0”(零)以示區(qū)別,并且在“0”和分子之間要有一個空格隔開,比如我們在輸入1/2時,則應該輸入“01/2”。如果在單元格中輸入“81/2”,則在單元格中顯示“81/2”,而在編輯欄中顯示“三、輸入負數(shù)在單元格中輸入負數(shù)時,可在負數(shù)前輸入“-”作標識,也可將數(shù)字置在()括號內(nèi)來標識,比如在單元格中輸入“(88)”,按一下回車鍵,則會自動顯示為“-88”。四、輸入小數(shù)在輸入小數(shù)時,用戶可以向平常一樣使用小數(shù)點,還可以利用逗號分隔千位、百萬位等,當輸入帶有逗號的數(shù)字時,在編輯欄并不顯示出來,而只在單元格中顯示。當你需要輸入大量帶有固定小數(shù)位的數(shù)字或帶有固定位數(shù)的以“0”字符串結(jié)尾的數(shù)字時,可以采用下面的方法:選擇“工具”、“選項”命令,打開“選項”對話框,單擊“編輯”標簽,選中“自動設置小數(shù)點”復選框,并在“位數(shù)”微調(diào)框中輸入或選擇要顯示在小數(shù)點右面的位數(shù),如果要在輸入比較大的數(shù)字后自動添零,可指定一個負數(shù)值作為要添加的零的個數(shù),比如要在單元格中輸入“88”后自動添加3個零,變成“88000”,就在“位數(shù)”微調(diào)框中輸入“-3”,相反,如果要在輸入“88”后自動添加3位小數(shù),變成“0.088”,則要在“位數(shù)”微調(diào)框中輸入“3”。另外,在完成輸入帶有小數(shù)位或結(jié)尾零字符串的數(shù)字后,應清除對“自動設置小數(shù)點”符選框的選定,以免影響后邊的輸入;如果只是要暫時取消在“自動設置小數(shù)點”中設置的選項,可以在輸入數(shù)據(jù)時自帶小數(shù)點。五、輸入貨幣值Excel幾乎支持所有的貨幣值,如人民幣(¥)、英鎊(£)等。歐元出臺以后,Excel2000完全支持顯示、輸入和打印歐元貨幣符號。用戶可以很方便地在單元格中輸入各種貨幣值,Excel會自動套用貨幣格式,在單元格中顯示出來,如果用要輸入人民幣符號,可以按住Alt鍵,然后再數(shù)字小鍵盤上按“0165”即可。六、輸入日期Excel是將日期和時間視為數(shù)字處理的,它能夠識別出大部分用普通表示方法輸入的日期和時間格式。用戶可以用多種格式來輸入一個日期,可以用斜杠“/”或者“-”來分隔日期中的年、月、日部分。比如要輸入“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公式的錯誤值經(jīng)常用Excel的朋友可能都會遇到一些莫名奇妙的錯誤值信息:#N/A!、#VALUE!、#DIV/O!等等,出現(xiàn)這些錯誤的原因有很多種,如果公式不能計算正確結(jié)果,Excel將顯示一個錯誤值,例如,在需要數(shù)字的公式中使用文本、刪除了被公式引用的單元格,或者使用了寬度不足以顯示結(jié)果的單元格。以下是幾種常見的錯誤及其解決方法。1.#####!原因:如果單元格所含的數(shù)字、日期或時間比單元格寬,或者單元格的日期時間公式產(chǎn)生了一個負值,就會產(chǎn)生#####!錯誤。解決方法:如果單元格所含的數(shù)字、日期或時間比單元格寬,可以通過拖動列表之間的寬度來修改列寬。如果使用的是1900年的日期系統(tǒng),那么Excel中的日期和時間必須為正值,用較早的日期或者時間值減去較晚的日期或者時間值就會導致#####!錯誤。如果公式正確,也可以將單元格的格式改為非日期和時間型來顯示該值。2.#VALUE!當使用錯誤的參數(shù)或運算對象類型時,或者當公式自動更正功能不能更正公式時,將產(chǎn)生錯誤值#VALUE!。原因一:在需要數(shù)字或邏輯值時輸入了文本,Excel不能將文本轉(zhuǎn)換為正確的數(shù)據(jù)類型。解決方法:確認公式或函數(shù)所需的運算符或參數(shù)正確,并且公式引用的單元格中包含有效的數(shù)值。例如:如果單元格A1包含一個數(shù)字,單元格A2包含文本"學籍",則公式"=A1+A2"將返回錯誤值#VALUE!。可以用SUM工作表函數(shù)將這兩個值相加(SUM函數(shù)忽略文本):=SUM(A1:A2)。原因二:將單元格引用、公式或函數(shù)作為數(shù)組常量輸入。解決方法:確認數(shù)組常量不是單元格引用、公式或函數(shù)。原因三:賦予需要單一數(shù)值的運算符或函數(shù)一個數(shù)值區(qū)域。解決方法:將數(shù)值區(qū)域改為單一數(shù)值。修改數(shù)值區(qū)域,使其包含公式所在的數(shù)據(jù)行或列。3.#DIV/O!當公式被零除時,將會產(chǎn)生錯誤值#DIV/O!。原因一:在公式中,除數(shù)使用了指向空單元格或包含零值單元格的單元格引用(在Excel中如果運算對象是空白單元格,Excel將此空值當作零值)。解決方法:修改單元格引用,或者在用作除數(shù)的單元格中輸入不為零的值。原因二:輸入的公式中包含明顯的除數(shù)零,例如:=5/0。解決方法:將零改為非零值。4.#NAME?在公式中使用了Excel不能識別的文本時將產(chǎn)生錯誤值#NAME?。原因一:刪除了公式中使用的名稱,或者使用了不存在的名稱。解決方法:確認使用的名稱確實存在。選擇菜單"插入"|"名稱"|"定義"命令,如果所需名稱沒有被列出,請使用"定義"命令添加相應的名稱。原因二:名稱的拼寫錯誤。解決方法:修改拼寫錯誤的名稱。原因三:在公式中使用標志。解決方法:選擇菜單中"工具"|"選項"命令,打開"選項"對話框,然后單擊"重新計算"標簽,在"工作薄選項"下,選中"接受公式標志"復選框。原因四:在公式中輸入文本時沒有使用雙引號。解決方法:Excel將其解釋為名稱,而不理會用戶準備將其用作文本的想法,將公式中的文本括在雙引號中。例如:下面的公式將一段文本"總計:"和單元格B50中的數(shù)值合并在一起:="總計:"&B50原因五:在區(qū)域的引用中缺少冒號。解決方法:確認公式中,使用的所有區(qū)域引用都使用冒號。例如:SUM(A2:B34)。5.#N/A原因:當在函數(shù)或公式中沒有可用數(shù)值時,將產(chǎn)生錯誤值#N/A。解決方法:如果工作表中某些單元格暫時沒有數(shù)值,請在這些單元格中輸入"#N/A",公式在引用這些單元格時,將不進行數(shù)值計算,而是返回#N/A。6.#REF!當單元格引用無效時將產(chǎn)生錯誤值#REF!。原因:刪除了由其他公式引用的單元格,或?qū)⒁苿訂卧裾迟N到由其他公式引用的單元格中。解決方法:更改公式或者在刪除或粘貼單元格之后,立即單擊"撤消"按鈕,以恢復工作表中的單元格。7.#NUM!當公式或函數(shù)中某個數(shù)字有問題時將產(chǎn)生錯誤值#NUM!。原因一:在需要數(shù)字參數(shù)的函數(shù)中使用了不能接受的參數(shù)。解決方法:確認函數(shù)中使用的參數(shù)類型正確無誤。原因二:使用了迭代計算的工作表函數(shù),例如:IRR或RATE,并且函數(shù)不能產(chǎn)生有效的結(jié)果。解決方法:為工作表函數(shù)使用不同的初始值。原因三:由公式產(chǎn)生的數(shù)字太大或太小,Excel不能表示。解決方法:修改公式,使其結(jié)果在有效數(shù)字范圍之間。8.#NULL!當試圖為兩個并不相交的區(qū)域指定交叉點時將產(chǎn)生錯誤值#NULL!。原因:使用了不正確的區(qū)域運算符或不正確的單元格引用。解決方法:如果要引用兩個不相交的區(qū)域,請使用聯(lián)合運算符逗號(,)。公式要對兩個區(qū)域求和,請確認在引用這兩個區(qū)域時,使用逗號。如:SUM(A1:A13,D12:D23)。如果沒有使用逗號,Excel將試圖對同時屬于兩個區(qū)域的單元格求和,但是由于A1:A13和D12:D23并不相交,所以他們沒有共同的單元格。在Excel中快速查看所有工作表公式只需一次簡單的鍵盤點擊,即可可以顯示出工作表中的所有公式,包括Excel用來存放日期的序列值。要想在顯示單元格值或單元格公式之間來回切換,只需按下CTRL+`(位于TAB鍵上方)。EXCEL2000使用技巧十招1、Excel文件的加密與隱藏如果你不愿意自己的Excel文件被別人查看,那么你可以給它設置密碼保護,采用在保存文件時用加密的方法就可以實現(xiàn)保護目的,在這里要特別注意的是,自己設定的密碼一定要記住,否則自己也將被視為非法入侵者而遭拒絕進入。給文件加密的具體方法為:A、單擊“文件”菜單欄中的“保存或者(另存為)”命令后,在彈出的“保存或者(另存為)”的對話框中輸入文件名;B、再單擊這個對話框中“工具”欄下的“常規(guī)選項”按鈕,在彈出的“保存選項”的對話框中輸入自己的密碼;這里要注意,它提供了兩層保護,如果你也設置了修改權限密碼的話,那么即使文件被打開也還需要輸入修改權限的密碼才能修改。C、單擊“確定”按鈕,在彈出的密碼確認窗口中重新輸入一遍密碼,再點擊“確認”,最后點“保存”完成文件的加密工作。當重新打開文件時就要求輸入密碼,如果密碼不正確,文件將不能打開。2、對單元格進行讀寫保護單元格是Excel執(zhí)行其強大的計算功能最基本的元素,對單元格的讀寫保護是Excel對數(shù)據(jù)進行安全管理的基礎。對單元格的保護分為寫保護和讀保護兩類,所謂寫保護就是對單元格中輸入信息加以限制,讀保護是對單元格中已經(jīng)存有信息的瀏覽和查看加以限制。對單元格的寫保護有兩種方法:A、對單元格的輸入信息進行有效性檢測。首先選定要進行有效性檢測的單元格或單元格集合,然后從數(shù)據(jù)菜單中選擇“有效數(shù)據(jù)”選項,通過設定有效條件、顯示信息和錯誤警告,控制輸入單元格的信息要符合給定的條件。B、設定單元格的鎖定屬性,以保護存入單元格的內(nèi)容不能被改寫??煞譃橐韵虏襟E:(1)選定需要鎖定的單元格或單元格集合;(2)從格式菜單中選擇“單元格”選項;(3)在設置單元格格式的彈出菜單中選擇“保護”標簽,在彈出的窗口中,選中“鎖定”;(4)從工具菜單中選擇“保護”選項,設置保護密碼,即完成了對單元格的鎖定設置。對單元格的讀保護有三種方法:A、通過對單元格顏色的設置進行讀保護。例如:將選定單元格或單元格集合的背景顏色與字體顏色同時設為白色,這樣,從表面看起來單元格中好像是沒有輸入任何內(nèi)容,用戶無法直接讀出單元格中所存儲的信息。B、用其他畫面覆蓋在需要保護的單元格之上,遮住單元格的本來面目,以達到讀保護目的。例如:使用繪圖工具,畫一不透明矩形覆蓋在單元格之上,從格式菜單中選定矩形的“鎖定”選項,然后保護工作表,以保證矩形不能被隨意移動。這樣,用戶所看到的只是矩形,而看不到單元格中所存儲的內(nèi)容。C、通過設置單元格的行高和列寬,隱藏選定的單元格,然后保護工作表,使用戶不能直接訪問被隱藏的單元格,從而起到讀保護的作用。3、快速填充相同數(shù)據(jù)如果你希望在不同的單元格中輸入大量相同的數(shù)據(jù)信息,那么你不必逐個單元格一個一個地輸入,那樣需要花費好長時間,而且還比較容易出錯。我們可以通過下面的操作方法在多個相鄰或不相鄰的單元格中快速填充同一個數(shù)據(jù),具體方法為:A、同時選中需要填充數(shù)據(jù)的單元格。若某些單元格不相鄰,可在按住Ctrl鍵的同時,點擊鼠標左鍵,逐個選中;B、輸入要填充的某個數(shù)據(jù)。按住Ctrl鍵的同時,按回車鍵,則剛才選中的所有單元格同時填入該數(shù)據(jù)。4、使用Excel中的“宏”功能宏的概念,相信使用過WORD的人都會知道,她可以記錄命令和過程,然后將這些命令和過程賦值到一個組合鍵或工具欄的按鈕上,當按下組合鍵時,計算機就會重復所記錄的操作。在實踐工作中,它可以代替經(jīng)常輸入大量重復而又瑣碎的數(shù)據(jù),具體宏的定義方法如下::A、打開工作表,在工作表中選中要進行操作的單元格;B、用鼠標單擊菜單欄中的“工具”菜單項,并從彈出的下拉菜單中選擇“宏”子菜單項,并從隨后彈出的下級菜單中選擇“錄制新宏”命令;C、設定好宏后,我們就可以對指定的單元格,進行各種操作,程序?qū)⒆詣訉λM行的各方面操作記錄復制。5、連續(xù)兩次選定單元格我們有時需要在某個單元格內(nèi)連續(xù)輸入多個數(shù)值,以查看引用此單元格的其他單元格的效果。但每次輸入一個值后按回車鍵,活動單元格均默認下移一個單元格,非常不便。解決此問題的一般做法是通過選擇“工具”\“選項”\“編輯”,取消“按回車鍵后移動”選項的選定來實現(xiàn)在同一單元格內(nèi)輸入許多數(shù)值,但以后你還得將此選項選定,顯得比較麻煩。其實,采用連續(xù)兩次選定單元格方法就顯得靈活、方便:單擊鼠標選定單元格,然后按住Ctrl鍵再次單擊鼠標選定此單元格。此時,單元格周圍將出現(xiàn)實線框。6、在工作表之間使用超級連接首先須要在被引用的其他工作表中相應的部分插入書簽,然后在引用工作表中插入超級鏈接,注意在插入超級鏈接時,可以先在“插入超級鏈接”對話框的“鏈接到文件或URL”設置欄中輸入目標工作表的路徑和名稱,再在“文件中有名稱的位置”設置欄中輸入相應的書簽名,也可以通過“瀏覽”方式選擇。完成上述操作之后,一旦使用鼠標左鍵單擊工作表中帶有下劃線的文本的任意位置,即可實現(xiàn)中文Excel2000在自動打開目標工作表并轉(zhuǎn)到相應的位置處,這一點與WORD的使用很相似。7、快速清除單元格的內(nèi)容首先用鼠標選定該單元格,然后按住鍵盤上的Delete鍵,此時你會發(fā)現(xiàn)你只是刪除了單元格內(nèi)容,它的格式和批注還保留著。那么如何才能徹底清除單元格呢,請看下面的兩種操作步驟:A、選定想要清除的單元格或單元格范圍;B、選擇“編輯”菜單中的“清除”命令,這時顯示“清除”菜單;C、選擇要清除的命令,可以選擇“全部”、“格式”、“內(nèi)容”或“批注”中的任一個。8、快速修改單元格次序在實際操作的過程中,我們有時需要快速修改單元格內(nèi)容的次序。在拖放選定的一個或多個單元格至新的位置的同時,按住Shift鍵可以快速修改單元格內(nèi)容的次序。具體方法如下:A、首先用鼠標選定單元格,同時按下鍵盤上的Shift鍵;B、接著移動鼠標指針到單元格邊緣,直至出現(xiàn)拖放指針箭頭,然后進行拖放操作。上下拖拉時鼠標在單元格間邊界處會變成一個水平“工”狀標志,左右拖拉時會變成垂直“工”狀標志,釋放鼠標按鈕完成操作后,單元格間的次序即發(fā)生了變化。、在Excel中利用公式來設置加權平均加權平均在財務核算和統(tǒng)計工作中經(jīng)常用到,并不是一項很復雜的計算,關鍵是要理解加權平均值其實就是總量值(如金額)除以總數(shù)量得出的單位平均值,而不是簡單的將各個單位值(如單價)平均后得到的那個單位值。在Excel中可設置公式解決(其實就是一個除法算式),分母是各個量值之和,分子是相應的各個數(shù)量之和,它的結(jié)果就是這些量值的加權平均值。10、用Excel繪制函數(shù)圖像函數(shù)圖像能直觀地反映函數(shù)的性質(zhì),用手工方法來繪制函數(shù)圖像效果不太好,而用Excel繪制函數(shù)圖像非常簡便,所作圖像非常標準、漂亮,具體方法如下:A、首先打開電子表格的操作窗口,然后用鼠標選擇菜單欄中的“新建”命令,這時屏幕上會出現(xiàn)一個空白的電子表格;B、然后在A列的A1格輸入“X=”,表明這是自變量,再在A列的A2及以后的格內(nèi)逐次從小到大輸入自變量的各個值;實際輸入的時候,通常應用等差數(shù)列輸入法,先輸入前三個值,定出自變量中數(shù)與數(shù)的距離,然后點擊A2格,按住鼠標拖到A4格選中這三項,使這三項變成一個黑色矩形,再用鼠標指向這黑色矩形的右下角的小方塊,當光標變成“+”后,按住鼠標拖動光標到適當?shù)奈恢?,就完成自變量的輸入;C、接著在B列的B1格輸入函數(shù)式y(tǒng)=f(x)的一般函數(shù)表達式,如y=1/x;也可在點擊工具欄上的函數(shù)圖標“fx”后,在出現(xiàn)的不同函數(shù)列表的選項中選擇需要的一種;輸入結(jié)束后,點擊函數(shù)輸入對話框旁的勾號,B2格內(nèi)馬上得出了計算的結(jié)果。這時,再選中B2格,讓光標指向B2矩形右下角的方框,當光標變成“+”時按住光標沿B列拖動到適當?shù)奈恢眉赐瓿珊瘮?shù)值的計算。注意一定要把該函數(shù)中自變量x的位置輸入前面A列自變量的絕對位置A2格,這樣下面計算的時候才會對不同的自變量進行計算;D、最后點擊工具欄上的“圖表向?qū)А眻D標,在出現(xiàn)的各種圖表格式圖標中選擇“X,Y散點圖”,然后在出現(xiàn)的“X,Y散點圖”類型中選擇“無數(shù)據(jù)點平滑線散點圖”;這時,可按住鼠標察看即將繪好的函數(shù)圖像。另外,對于自變量僅為正值的函數(shù),也可用“圖表向?qū)А敝械摹罢劬€圖”格式繪制。在Excel中自動推測出生年月日及性別的技巧大家都知道,身份證號碼已經(jīng)包含了每個人的出生年月日及性別等方面的信息(對于老式的15位身份證而言,7-12位即個人的出生年月日,而最后一位奇數(shù)或偶數(shù)則分別表示男性或女性。如某人的身份證號碼為420400700101001,它的7-12位為700101,這就表示該人是1970年元月1日出生的,身份證的最后一位為奇數(shù)1,這就表示該人為男性;對于新式的18位身份證而言,7-14位代表個人的出身年月日,而倒數(shù)第二位的奇數(shù)或偶數(shù)則分別表示男性或女性)。根據(jù)身份證號碼的這些排列規(guī)律,結(jié)合Excel的有關函數(shù),我們就能實現(xiàn)利用身份證號碼自動輸入出生年月日及性別等信息的目的,減輕日常輸入的工作量。Excel中提供了一個名為MID的函數(shù),其作用就是返回文本串中從指定位置開始特定數(shù)目的字符,該數(shù)目由用戶指定(另有一個名為MIDB的函數(shù),其作用與MID完全一樣,不過MID僅適用于單字節(jié)文字,而MIDB函數(shù)則可用于漢字等雙字節(jié)字符),利用該功能我們就能從身份證號碼中分別取出個人的出生年份、月份及日期,然后再加以適當?shù)暮喜⑻幚砑纯傻贸鰝€人的出生年月日信息。提示:MID函數(shù)的格式為MID(text,start_num,num_chars)或MIDB(text,start_num,num_bytes),其中Text是包含要提取字符的文本串;Start_num是文本中要提取的第一個字符的位置(文本中第一個字符的start_num為1,第二個為2……以此類推);至于Num_chars則是指定希望MID從文本中返回字符的個數(shù)。假定某單位人員管理希望通過身份證號碼自動得出員工的出生年月日及性別,現(xiàn)以此為例,將有關步驟向廣大用戶作一簡要介紹:1.選中整個B列,然后執(zhí)行“格式”菜單中的“單元格”命令,打開
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度水資源保護與修復工程監(jiān)理協(xié)議2篇
- 學校突發(fā)公共衛(wèi)生事件應急預案例文(5篇)
- 二零二五年度桉樹木材出口代理服務合同3篇
- 二零二五年度文化藝術保險合同執(zhí)行與藝術品風險全面擔保協(xié)議3篇
- 手術室安全管理制度模版(3篇)
- 自行車課程設計論文
- ktv部服務員職責(3篇)
- 2025年科研項目立項管理制度范文(2篇)
- 二零二五年度房地產(chǎn)聯(lián)建合作開發(fā)委托協(xié)議2篇
- 車輛擁堵交通事故識別系統(tǒng)
- 中華人民共和國學前教育法
- 辯論英文課件教學課件
- 銑工高級工測試題(含答案)
- 送貨員崗位勞動合同模板
- 2024年自然資源部所屬事業(yè)單位招聘(208人)歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 上海南洋模范2025屆高二生物第一學期期末檢測模擬試題含解析
- 《建筑施工安全檢查標準》JGJ59-2019
- 廣東茂名市選聘市屬國有企業(yè)招聘筆試題庫2024
- 2025屆高考數(shù)學一輪復習建議-函數(shù)與導數(shù)專題講座課件
- 2024-2030年中國高性能混凝土行業(yè)銷售規(guī)模與投資盈利預測報告
- 江蘇省常州市教育學會2023-2024學年高一上學期期末考試化學試題 (解析版)
評論
0/150
提交評論