版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
摘要人工智能的思想概念是從上世紀50-60年代提出來的思想,那時的計算機運算能力非常有限,無法對大數(shù)據(jù)量進行快速運算和存儲。當時的計算機水平制作工藝還處于初期發(fā)展階段,相關(guān)電子材料還沒有重大突破,因此制約了大數(shù)據(jù)量運算概念的發(fā)展和完善基礎。人工智能的實現(xiàn)基礎在于機器的自我認知,當前實現(xiàn)機器自我認知的途徑主要是通過數(shù)據(jù)建模和邏輯建模,讓機器擁有自我學習的能力。人類自從有了計算機之后就逐步的開始提高計算機的計算能力,從最開始的幾兆運算能力到現(xiàn)在的幾個吉的運算能力,特別是摩爾定律出現(xiàn)后計算機的計算性能每兩年就會有一次運算能力提升,經(jīng)過多年的發(fā)展我們的計算能力已初步具備大數(shù)據(jù)量運算的能力,同時也得益于軟件架構(gòu)思想的提升,主要是基于分布式的軟件架構(gòu)思想以及集群協(xié)作的計算理念為實現(xiàn)大規(guī)模計算奠定基礎。在軟硬件具備大規(guī)模計算能力以后,就可以通過海量的數(shù)據(jù)讓機器進行學習。成熟的機器學習有兩種模式:1.有監(jiān)督的機器學習;有監(jiān)督的機器學習主要基于數(shù)據(jù)建模,基于一定的模式規(guī)則進行學習。主要的理論支持是基于數(shù)學的概率論,線性回歸函數(shù)等等基礎理論。2.無監(jiān)督的機器學習;無監(jiān)督的機器學習通常以數(shù)據(jù)的關(guān)聯(lián)關(guān)系以及相似特征進行自歸類,自關(guān)聯(lián)的方式進行學習然后給出判斷結(jié)果。目前主要用的算法有神經(jīng)網(wǎng)絡算法為基礎進行數(shù)據(jù)建模。那么在大數(shù)據(jù),云計算和機器學習逐步成熟的今天,在電氣自動化領(lǐng)域完全可以集成人工智能的相關(guān)技術(shù),通過人工智能技術(shù)來提升電氣自動化的智能水平,同時帶來更好的社會效益。關(guān)鍵詞:人工智能,大數(shù)據(jù),云計算,機器學習,電氣自動化檢測,智能檢測系統(tǒng)第1章前言人工智能技術(shù)是通過機器學習加邏輯規(guī)則系統(tǒng)結(jié)合而成的一門綜合技術(shù),通過大數(shù)據(jù)處理機器學習通過數(shù)學算法建模,對大規(guī)模數(shù)據(jù)進行分析推理思考,從而使其能夠達到類似人類的認知能力,隨著硬件技術(shù)的發(fā)展,包括量子計算機的出現(xiàn),離全面超過人類的認知能力的智能系統(tǒng)將在不遠的將來誕生,人工智能系統(tǒng)依靠強大的算力,海量的數(shù)據(jù),以及經(jīng)典的算法模型必然會爆發(fā)出巨大的創(chuàng)造力,隨著電氣自動化系統(tǒng)智能的能力提升,必會提高生產(chǎn)效率,節(jié)省資源耗費,減少電氣系統(tǒng)的故障發(fā)生率,讓電氣系統(tǒng)的運行更加穩(wěn)定,為社會經(jīng)濟發(fā)展創(chuàng)造更多效益,為人民的的生活水平提高提供更好的動力。1.1課題的來源和目的1.1.1人工智能化的趨勢\t"/item/%E6%96%B0%E4%B8%80%E4%BB%A3%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%8F%91%E5%B1%95%E8%A7%84%E5%88%92/_blank"人工智能技術(shù)經(jīng)過60多年的發(fā)展,目前已經(jīng)到了可以對日常生活中一些復雜的生活場景進行智能化處理,目前人工智能系統(tǒng)在理論建模方面已取得重大突破,包含硬件方面的突破,比如神經(jīng)網(wǎng)絡算法,深度學習算法,量子計算機等。當前人工智能研究在國際上也是一個耀眼的焦點,美國在人工智能研究領(lǐng)域處于第一梯隊,特別是美國的硅谷公司,比如大型的搜索引擎公司google,以及知名的人工智能算法研究團隊,來自斯坦福大學的機器學習算法專業(yè)等,第二梯隊是來自我國的的一些大型互聯(lián)網(wǎng)公司,我國的型互聯(lián)網(wǎng)公司從2014年就開始進入人工智能領(lǐng)域,比如百度人工大腦,目前是行業(yè)內(nèi)的領(lǐng)航企業(yè),在未來了的人工智能技術(shù)領(lǐng)域,我們要繼續(xù)保持奮斗精神走在世界前沿。1.1.2傳統(tǒng)的電氣自動化系統(tǒng)(一)現(xiàn)場總控與分布式控制系統(tǒng)的應用?,F(xiàn)場總控指的是連接智能現(xiàn)場設備和自動化系統(tǒng)的通信系統(tǒng),這一技術(shù)能夠解決智能化儀表、控制器等現(xiàn)場設備之間的通信問題,可以對一些高級控制系統(tǒng)之間的信息傳遞進行控制,在電氣自動化領(lǐng)域中都對其有所應用。分布式控制系統(tǒng)能夠?qū)崿F(xiàn)人機交互、數(shù)字控制、以及監(jiān)控管理等功能,應用起來較為可靠,且反應比較靈活,具有維修簡單、協(xié)調(diào)性好和控制功能齊全的優(yōu)勢。(二)遠程監(jiān)控方式的應用。對于電氣自動化而言,長久在固定的領(lǐng)域中實施監(jiān)控,并不是最終的訴求。因此,在大量的研究和拓展以后,遠程監(jiān)控方式得到確立,并且在推廣應用后獲得了人們的認可。但是,遠程監(jiān)控方式的應用也存在著一定的限制性。例如,各種現(xiàn)場總控的通訊速度,并沒有辦法達到較高的特點,同時電廠的電氣控制部分在通訊量方面,表現(xiàn)出了較大的情況,在遠程監(jiān)控方式的操作,可能會與理論上的效果存在一定的差距。建議在以后的應用中,將電氣遠程監(jiān)控方式安置在小系統(tǒng)的監(jiān)控上,盡量不要應用到整個廠區(qū)的電氣自動化構(gòu)建上,應該將其優(yōu)勢更好的發(fā)揮。(三)軟件技術(shù)與電氣工業(yè)自動化的結(jié)合。在計算機信息技術(shù)發(fā)達的今天,軟件技術(shù)與多媒體技術(shù)在自動化的發(fā)展過程中添上了濃墨重彩的一筆,在軟件行業(yè)的自動化應用過程中已經(jīng)有辦公自動化逐漸向控制環(huán)境的方向進行轉(zhuǎn)變,隨著市場需求的增加,將電氣自動化和軟件技術(shù)更加深入的聯(lián)系到一起,并且將自動電氣化的發(fā)展推向了一種創(chuàng)新的熱潮,軟件技術(shù)不僅僅是在工業(yè)領(lǐng)域發(fā)揮出了重要的作用,同時在工業(yè)、自動化設備的生產(chǎn)與研發(fā)等各個環(huán)節(jié)都產(chǎn)生了重要的影響,對網(wǎng)絡建設的日益完善將產(chǎn)生巨大的意義。1.2開發(fā)技術(shù)的選擇1.2.1大數(shù)據(jù)介紹大數(shù)據(jù)是指在一定的時間內(nèi)能夠處理大數(shù)據(jù)量的一種軟件技術(shù),可以對非結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)進行處理,以及對實時在線離線數(shù)據(jù)進行流式處理分析。大數(shù)據(jù)有四大特征分別是指:大數(shù)據(jù)軟件架構(gòu)思想符合處理海量數(shù)據(jù)的處理方法,及處理海量數(shù)據(jù)的特征。大數(shù)據(jù)軟件架構(gòu)思想能夠快速處理海量數(shù)據(jù),處理海量數(shù)據(jù)的方法是基于龐大的計算集群實現(xiàn)的,及處理速度快的特征。海量數(shù)據(jù)的多樣性,現(xiàn)實世界中是一個多元文化,每一種文化都有多樣性的特征,正如我們生活存在多樣性一樣,所以說大數(shù)據(jù)的一大特征就是數(shù)據(jù)的多樣性。在有了海量的數(shù)據(jù)后數(shù)據(jù)的價值就非常重要了,不同數(shù)據(jù)特征對分析問題處理問題具有很高的價值,所以大數(shù)據(jù)的另一特征就是數(shù)據(jù)的高價值特征。在云計算時代,大數(shù)據(jù)的計算平臺都在云處理運算,云計算平臺提供充沛的計算能力,同時也為數(shù)據(jù)存儲提供了大容量的存儲空間,讓真正的存儲海量數(shù)據(jù)成為可能,另外云計算平臺為大數(shù)據(jù)的集群化運維提供了方便,傳統(tǒng)的大數(shù)據(jù)運維比較復雜,對機器的安裝部署,已經(jīng)集群化配置,參數(shù)調(diào)優(yōu),數(shù)據(jù)存儲和等都為傳統(tǒng)的運維方式帶來了不便,有了云計算平臺后大數(shù)據(jù)的運算性能,數(shù)據(jù)存儲能力,運維管理能力顯著提升,為建造一個人工智能平臺提供了堅實的基礎。1.2.2Hadoop簡介Hadoop是一個由軟件基金會所支持開發(fā)的分布式系統(tǒng)基礎架構(gòu)。Hadoop軟件架構(gòu)思想是根據(jù)谷歌的論文思想實現(xiàn)而成的一種分布式計算軟件技術(shù),Hadoop實現(xiàn)了集群計算和海量數(shù)據(jù)存儲使用的相關(guān)技術(shù),并且將相關(guān)技術(shù)開源了出來,廣大的技術(shù)愛好者可以基于此開源軟件進行二次開發(fā),來實現(xiàn)不同業(yè)務場景下的技術(shù)要求。Hadoop有三個重要組成部分,第一部分是文件存儲系統(tǒng),簡稱HDFS(HadoopDirectoryFileSystem),HDFS具有高容錯性,并且可以在低廉的硬件服務器上運行,是因為它至少有3份數(shù)據(jù)備份,所以在廉價的服務器上一兩個節(jié)點出現(xiàn)問題也不會影響數(shù)據(jù)的正確處理,這就是它高容錯性的特點,另外的一個特點就是高吞吐量的來訪問存儲的數(shù)據(jù)適合大數(shù)據(jù)量的應用程序。第二部分就是邏輯處理運行算部分MapReduce,MapReduce的思想就是將關(guān)鍵字作為key在各個機器節(jié)點上進行文件檢索處理,將整個集群里的所有關(guān)鍵字檢索出來進行合并累加計算然后輸出,在通過機器學習算法進行統(tǒng)計分析,最后得出分析結(jié)果供智能系統(tǒng)參考使用。第三部分,分布式架構(gòu)思想,Hadoop具有很好的容錯性,服務可靠性,穩(wěn)定性,彈性設計等思想保證了人工智能系統(tǒng)平臺的穩(wěn)定。1.2.3Spark簡介Spark是美國加州伯克利分校的AMP實驗室開發(fā)的一款基于內(nèi)存并行計算的分布式框架Spark是使用Scala語言進行開發(fā),它是一款參照高級語言編程開發(fā)一套語言,具有靈活的函數(shù)式編程,同時也支持面向?qū)ο缶幊蹋且粋€很不錯的編程語言。1.Spark主要是基于內(nèi)存運算的一個應用思想,在進行大數(shù)據(jù)集群計算時,它的編程運算路徑是提前規(guī)劃好的,是一個有向的無循環(huán)圖,支持在內(nèi)存中對數(shù)據(jù)檢索計算這個速度比Hadoop基于磁盤的讀取運行快100倍以上。2.Spark使用的編程語言是Scala,它的編程易用性好,Scale的函數(shù)式編程不僅大大的簡化的編程的難度,對應機器學習算法的編寫提供了很多便利使用方法,對于其他語言的支持也有很多好的結(jié)合方式,比如對java語言的支持,Scale語言可以運行在Java虛擬機中等等。3.Spark有很多組件庫可以大大簡化的整個系統(tǒng)的開發(fā)工作量和額難度,將現(xiàn)有的組件加入到Spark系統(tǒng)集群中就可以方便的使用,常用的組件庫有SparkCore,SparkSQL,SparkStreaming,MLLib和GraphX等組件。4.Spark的運行范圍也很廣,具有很廣的適用性,能夠從不同數(shù)據(jù)系統(tǒng)讀取數(shù)據(jù),比如HDFS,Cassandra,HBase,Techyon,Hive,Database,ETL等為持久層都寫原始數(shù)據(jù),能夠以集群模式運行或者單機版集群下管理運行,通過自身攜帶資源調(diào)度器來管理job,完成大數(shù)據(jù)量的job程序計算。第2章系統(tǒng)設計在大數(shù)據(jù)技術(shù)應用場景下的建模,一般有兩種形式的基本需求:一是實時數(shù)據(jù)流的建模,二是大批量離線數(shù)據(jù)分析建模。這兩種需求在當前分別有不同的解決方案,對第一個需求可以使用流數(shù)據(jù)計算平臺,而對第二個需求則可以使用Hadoop或MPI等高性能集群進行離線數(shù)據(jù)分析。然而在一般的應用中,這兩個需求是同時產(chǎn)生,比如一個在線實時監(jiān)測系統(tǒng),既需要有對大容量的歷史數(shù)據(jù)進行挖掘分析,如建立一個地區(qū)的長期用電波動以及用電設備狀態(tài)分析,也有對當前電網(wǎng)的用電異動和設備異常變化快速反饋的實時建模。2.1功能設計2.1.1人工智能技術(shù)平臺人工智能技術(shù)平臺的主要組成部分有:1.搭建一個能存儲結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的文件存儲平臺,這個結(jié)構(gòu)化和非結(jié)構(gòu)化存儲平臺要有很高的容錯性,可擴張展現(xiàn)性,穩(wěn)定性等等特點。然后我們可以在這個文件存儲平臺上面存儲各種格式的文件,文件的內(nèi)容可以包含一些結(jié)構(gòu)化的數(shù)據(jù)或一些非結(jié)構(gòu)化的數(shù)據(jù),比如,數(shù)據(jù)庫的結(jié)構(gòu)化建模數(shù)據(jù),excel文件的表格數(shù)據(jù),word文檔的文本數(shù)據(jù),圖片數(shù)據(jù)等等。2.需要實現(xiàn)一個分布式的計算框架,為什么需要一個分布式的計算框架,因為將來要把各式各樣的結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)存儲到一個分布式的文件存儲系統(tǒng)上,到時一些數(shù)據(jù)可能被存儲到這個文件系統(tǒng)的極個別服務器上面,那么我們的計算框架要滿足跨多臺服務器計算數(shù)據(jù)的能力,然后將各個計算節(jié)點的數(shù)據(jù)匯總歸納,這對分布式計算框架的計算性能要求很高,要具有很高的跨機器通信能力,并且在大規(guī)模集群的情況下可以對計算節(jié)點進行job任務編排,實現(xiàn)整個集群協(xié)同作業(yè)讓整個集群運算處在最優(yōu)的狀態(tài)下。3.實現(xiàn)實時數(shù)據(jù)流計算框架,實時數(shù)據(jù)流主要是采集一些動態(tài)物體的實時數(shù)據(jù),有了這些實時數(shù)據(jù)就可以實現(xiàn)電氣檢測場景中的預測檢查,實時數(shù)據(jù)流計算框架需要具備高吞吐量數(shù)據(jù)的能力,同時具備動態(tài)擴展能力,快速計算結(jié)果。4.數(shù)據(jù)顯示層,數(shù)據(jù)顯示層要具備數(shù)據(jù)抽象組合能力,將不同結(jié)果列表進行組合展示的能力5.將第2步和第3步計算的結(jié)果同步到電氣自動化系統(tǒng)供電氣自動化系統(tǒng)做決策依據(jù)。2.1.2數(shù)據(jù)收集來源本例針對變電檢測系統(tǒng),變電檢測系統(tǒng)的數(shù)據(jù)來源可以有,通過傳感器檢測變電設備溫度,檢測環(huán)境溫度,濕度等,檢測電路電壓數(shù)據(jù),檢測變壓器油溫,變電設備儲存油量容積,電子拍照系統(tǒng)將電路氧化信息拍照記錄等等檢測手段獲取數(shù)據(jù),然后將這些數(shù)據(jù)收集儲存到HDFS文件平臺,最后HDFS文件系統(tǒng)基于收集到的數(shù)據(jù)結(jié)合歷史數(shù)據(jù)整合后供機器學習引擎計算使用。2.1.3如何將數(shù)據(jù)存儲到HDFS文件系統(tǒng)將從變電設備端采集的數(shù)據(jù)存放到HDFS之前要做以下幾件事情,第一需要將數(shù)據(jù)進行必要的數(shù)據(jù)篩選,將那些無用沒有價值的數(shù)據(jù)通過數(shù)據(jù)清洗工具將他過濾掉,過濾工具可以使用Kettle或自行編寫一個MapReduce算法進行數(shù)據(jù)清洗,第二步根據(jù)數(shù)據(jù)采集的頻率將數(shù)據(jù)緩存到一個消息隊列里,有的數(shù)據(jù)采集頻率比較高,比如電壓電流采集端每豪秒采集一次,這樣的采集頻率對于HDFS存儲系統(tǒng)來說,存在大量的采集終端的情況下,HDFS系統(tǒng)無法快速響應存儲請求,反而會拉低系統(tǒng)整體性能,因此需要加一個數(shù)據(jù)緩沖隊列,將采集到的數(shù)據(jù)統(tǒng)一緩存到數(shù)據(jù)隊列,然后再通過數(shù)據(jù)隊列將數(shù)據(jù)輸送到HDFS文件存儲系統(tǒng)。HDFS流程圖如下圖2-1HDFS流程2.1.4Spark計算學習引擎將數(shù)據(jù)存儲到HDFS以后,通過使用Spark的分布式計算學習引擎檢測數(shù)據(jù)異動情況,使用Spark的分布式計算學習引擎前需要先建立學習模型,建立訓練模型前要分析所建模型的數(shù)據(jù)特征,根據(jù)特征建模,特征的選擇要基于業(yè)務的特點進行分析,好的特征能夠影響建模的好壞,選取完特征后就可以對這些特征進行建模訓練,將訓練好的模型作為驗證數(shù)據(jù)好壞的一個標準,然后每次加入的數(shù)據(jù)計算后使用模型進行概率驗證是否正確,然后經(jīng)驗證結(jié)果保存的結(jié)果表中通知給變電檢測系統(tǒng)作為業(yè)務決策才參考。另外,也可以通過視圖層展示計算結(jié)果。圖2-2Sprak計算流程2.1.5變電檢測系統(tǒng)和人工智能平臺對接傳統(tǒng)的變電檢測系統(tǒng)根據(jù)邏輯算法,規(guī)則設定,條件判斷等形式處理系統(tǒng)運行中遇到的各種問題,基于這些規(guī)則算法往往能解決一部分問題,但隨著經(jīng)濟的發(fā)展,使用電量的增加變電設施越來越多,一個好的變電檢測系統(tǒng)能省去大量的人工成本,提高效率,并且隨著歷史數(shù)據(jù)的堆積,和環(huán)境的變化能處理的問題將越來越復雜。隨著技術(shù)的發(fā)展變電檢測技術(shù)和人工智能技術(shù)的結(jié)合是越來越必要了,人工智能技術(shù)能將歷史數(shù)據(jù)收集起來,將現(xiàn)有采集的數(shù)據(jù)和歷史數(shù)據(jù)一起進行數(shù)據(jù)學習運行得出更準確的決策依據(jù),人工智能技術(shù)是依據(jù)大數(shù)據(jù)進行數(shù)據(jù)學習運算的,其特點就是數(shù)據(jù)量大,數(shù)據(jù)多樣性,數(shù)據(jù)價值更高,處理速度快等特點,基于以上特點比傳統(tǒng)的專家系統(tǒng)各有準確性,更加靈活,更便捷的處理特殊場景,比如圖片識別,對于圖片上一些細微的變化有很好的捕捉能力,并且可以處理大量的圖片數(shù)據(jù)。因此,需要設計一個基于人工智能技術(shù)的變電檢測系統(tǒng),變電檢測系統(tǒng)需要提供數(shù)據(jù)輸入接口,根據(jù)人工智能平臺運算后的數(shù)據(jù)進行業(yè)務處理。圖2-3變電檢測流程在數(shù)據(jù)處理方式上,分離線數(shù)據(jù)方式和實時在線處理方式,基于目前的計算機處理能力,在離線數(shù)據(jù)處理主要針對整個數(shù)據(jù)集進行完整的數(shù)據(jù)計算處理,從理論上說離線處理更高復雜,但計算處理效果也是最好的一種方式,而實時在線數(shù)據(jù)處理基于目前的計算能力只能實現(xiàn)一些較為普通的計算任務處理。因此我們將根據(jù)各種計算方式各自的計算特點進行側(cè)重使用,使用混合架構(gòu)較為合適,在混合架構(gòu)模式下才能充分發(fā)揮各個場景下的計算性能最大化。圖2-4Hadoop+Spark混合架構(gòu)2.2平臺整體架構(gòu)人工智能技術(shù)平臺總體架構(gòu)技術(shù)使用,最底層使用的是HDFS技術(shù),HDFS實現(xiàn)了分布式文件存儲的能力,具備高可用性,可維護性,和可擴展性。第二層使用Spark計算框架,Spark計算框架使用通過Scale語言編程實現(xiàn)的,Spark計算框架的實現(xiàn)思路是將存儲在磁盤上的數(shù)據(jù)加載到內(nèi)存中進行計算,然后通過調(diào)度算法對將要計算的job任務進行合理分配,具體使用的調(diào)度算法是有向不循環(huán)圖技術(shù),同時也提供了很多機器學習算法庫,以及一些自定義算子的編寫函數(shù),大大的方便了開發(fā)人員的編程工作。第三層是各種平臺的數(shù)據(jù)交互接口,可以在第三層將第二層的運算結(jié)果同步的電氣自動檢測系統(tǒng)中,然后觸發(fā)電氣自動檢測系統(tǒng)的后續(xù)業(yè)務處理中。圖2-5基于人工智能平臺設計的整體流程圖圖2-6人工智能平臺總體架構(gòu)2.3本章小結(jié)本章主要介紹了人工智能系統(tǒng)的架構(gòu)設計思想,提出了人工智能平臺總體三層架構(gòu),分別是基礎數(shù)據(jù)存儲層、業(yè)務計算服務層,以及數(shù)據(jù)結(jié)果導向?qū)樱瑫r,針對本文的重點工作內(nèi)容:人工智能機器學習平臺設計與實現(xiàn),提出了整體的設計思路。第3章系統(tǒng)實現(xiàn)本文主要目標是設計和實現(xiàn)一個可擴展、實用性和靈活性兼?zhèn)涞娜斯ぶ悄芷脚_,該平臺能充分發(fā)揮分布式計算集群的優(yōu)勢,并利用良好的對象與類封裝便于平臺的擴展,達到靈活性的目標。3.1功能模塊3.1.1搭建HDFS文件存儲系統(tǒng)下載Hadoop安裝包Wget/apache/hadoop/common/hadoop-3.0.0/hadoop-3.0.0-src.tar.gz解壓安裝包tarzxvf
hadoop-3.0.0-src.tar.gz配置Hadoop的環(huán)境變量vi/etc/profile(三臺機器)增加以下配置#Hadoop3.0exportHADOOP_PREFIX=/home/hadoop/hadoop-3.0.0exportPATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbinexportHADOOP_COMMON_HOME=$HADOOP_PREFIXexportHADOOP_HDFS_HOME=$HADOOP_PREFIXexportHADOOP_MAPRED_HOME=$HADOOP_PREFIXexportHADOOP_YARN_HOME=$HADOOP_PREFIXexportHADOOP_INSTALL=$HADOOP_PREFIXexportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/nativeexportHADOOP_CONF_DIR=$HADOOP_PREFIXexportHADOOP_PREFIX=$HADOOP_PREFIXexportHADOOP_LIBEXEC_DIR=$HADOOP_PREFIX/libexecexportJAVA_LIBRARY_PATH=$HADOOP_PREFIX/lib/native:$JAVA_LIBRARY_PATHexportHADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoopsource/etc/profile修改配置文件vi/etc/hosts(三臺機器)增加以下配置01node1002node1003node103vi
/home/hadoop/hadoop-3.0.0/etc/hadoop/core-site.xml(三臺機器)<configuration><property><name>fs.defaultFS</name><value>hdfs://node101:9000</value><description>HDFS的URI,文件系統(tǒng)://namenode標識:端口</description></property><property><name>hadoop.tmp.dir</name><value>/opt/hadoop</value><description>namenode上傳到hadoop的臨時文件夾</description></property><property><name>fs.checkpoint.period</name><value>3600</value><description>用來設置檢查點備份日志的最長時間</description></property></configuration>vim
/home/hadoop/hadoop-3.0.0/etc/hadoop/hdfs-site.xml(三臺機器)<configuration><property><name>dfs.replication</name><value>3</value><description>副本個數(shù),默認配置是3,應小于datanode機器數(shù)量</description></property><property><name>.dir</name><value>/home/hadoop/hadoop-3.0.0/hdfs/name</value><description>datanode上存儲hdfs名字空間元數(shù)據(jù)</description></property><property><name>dfs.data.dir</name><value>/home/hadoop/hadoop-3.0.0/hdfs/data</value><description>datanode上數(shù)據(jù)塊的物理存儲位置</description></property></configuration>vim
/home/hadoop/hadoop-3.0.0/etc/hadoop/hadoop-env.sh
(三臺機器)設置java_home(54行左右)exportJAVA_HOME=/usr/java/jdk1.8.0_11vi
/home/hadoop/hadoop-3.0.0/etc/hadoop/worker(namenode節(jié)點機器)node101node102node103備注:node101、node102、node103分別是三臺服務器設置的名稱初始化namenode節(jié)點/home/hadoop/hadoop-3.0.0/bin/hadoopnamenode-format啟動HDFS/home/hadoop/hadoop-3.0.0/sbin/start-dfs.sh檢查HDFS集群啟動情況jps在namenode節(jié)點的機器上能看到namenode和datanode兩個進程,在datanode節(jié)點的機器上只能看到datanode進程,我安裝的namenode在node101機器上,datanode是101~1033.1.2Spark環(huán)境搭建安裝前準備Spark下載由于我們的Hadoop的版本是2.7.6.所以在選中Spark版本的時候,要注意.要選中pre-builtforapachehadoop2.7andlater的版本#下載Spark[root@spark-masterlocal]#wget/apache/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz#解壓[root@spark-masterlocal]#tar-xvfspark-2.3.0-bin-hadoop2.7.tgz#重命名文件夾[root@spark-masterlocal]#tar-xvfspark-2.3.0-bin-hadoop2.7spark-2.3.0環(huán)境配置#配置環(huán)境變量exportSPARK_HOME=/usr/local/spark-2.3.0exportPATH=$PATH:$SPARK_HOME/bin#使環(huán)境變量生效[root@spark-masterlocal]#source/etc/profileScala的安裝Spark需要安裝Scala語言的支持,在Spark的下載頁面,我們看到要求最低的版本是Scala2.10我們這里安裝的是Scala-2.12.6#解壓[root@spark-masteropt]#tar-xvfscala-2.12.6.tgz#配置環(huán)境變量[root@spark-masteropt]#vim/etc/profileexportSCALA_HOME=/usr/scala-2.12.6exportPATH=$PATH:$SCALA_HOME/bin#使環(huán)境變量生效[root@spark-masteropt]#source/etc/profile#檢查是否配置成功[root@spark-masteropt]#scala-versionScalacoderunnerversion2.12.6--Copyright2002-2018,LAMP/EPFLandLightbend,Inc.安裝完成之后,安裝同樣的步驟安裝到另外兩臺slave機器上修改配置文件需要修改的配置文件有兩個spark-env.sh,spark-defaults.conf,slavesspark-env.sh#復制模版配置文件[root@spark-masterspark-2.3.0]#cpconf/spark-env.sh.templateconf/spark-env.sh#修改配置文件.[root@spark-masterspark-2.3.0]#vimconf/spark-env.shexportJAVA_HOME=/opt/jdk1.8.0_144exportSCALA_HOME=/opt/scala-2.12.6exportHADOOP_HOME=/usr/local/hadoop-2.7.6/exportHADOOP_CONF_DIR=/usr/local/hadoop-2.7.6/etc/hadoop#定義管理端口exportSPARK_MASTER_WEBUI_PORT=8088#定義master域名和端口exportSPARK_MASTER_HOST=spark-masterexportSPARK_MASTER_PORT=7077#定義master的地址slave節(jié)點使用exportSPARK_MASTER_IP=spark-master#定義work節(jié)點的管理端口.work節(jié)點使用exportSPARK_WORKER_WEBUI_PORT=8088#每個worker節(jié)點能夠最大分配給exectors的內(nèi)存大小exportSPARK_WORKER_MEMORY=4gslaves#復制模版配置文件[root@spark-masterspark-2.3.0]#cpconf/slaves.templateconf/slaves#修改配置文件.[root@spark-masterspark-2.3.0]#vimconf/slavesspark-slave1spark-slave2spark-defaults.conf[root@spark-masterspark-2.3.0]#vimconf/spark-defaults.confspark.eventLog.enabled=truespark.eventLpress=true#保存在本地#spark.eventLog.dir=file://usr/local/hadoop-2.7.6/logs/userlogs#spark.history.fs.logDirectory=file://usr/local/hadoop-2.7.6/logs/userlogs#保存在hdfs上spark.eventLog.dir=hdfs://spark-master:9000/tmp/logs/root/logsspark.history.fs.logDirectory=hdfs://spark-master:9000/tmp/logs/root/logsspark.yarn.historyServer.address=spark-master:180803.1.3配置百度大腦機器學習引擎使用maven依賴:添加以下依賴即可。其中版本號可在maven官網(wǎng)查詢<dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>${version}</version></dependency>直接使用JAR包步驟如下:1.在官方網(wǎng)站下載JavaSDK壓縮工具包。2.將下載的aip-java-sdk-version.zip解壓后,復制到工程文件夾中。3.在Eclipse右鍵“工程->Properties->JavaBuildPath->AddJARs”。4.添加SDK工具包aip-java-sdk-version.jar和第三方依賴工具包json-20160810.jar
slf4j-api-1.7.25.jar
slf4j-simple-1.7.25.jar(可選)。其中,version為版本號,添加完成后,用戶就可以在工程中使用ContentCensorJavaSDK。新建AipContentCensorAipContentCensor是圖像審核的Java客戶端,為使用圖像審核的開發(fā)人員提供了一系列的交互方法。用戶可以參考如下代碼新建一個AipContentCensor,初始化完成后建議單例使用,避免重復獲取access_token:publicclassSample{//設置APPID/AK/SKpublicstaticfinalStringAPP_ID="你的AppID";publicstaticfinalStringAPI_KEY="你的ApiKey";publicstaticfinalStringSECRET_KEY="你的SecretKey";publicstaticvoidmain(String[]args){//初始化一個AipContentCensorAipContentCensorclient=newAipContentCensor(APP_ID,API_KEY,SECRET_KEY);//可選:設置網(wǎng)絡連接參數(shù)client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);//可選:設置代理服務器地址,http和socket二選一,或者均不設置client.setHttpProxy("proxy_host",proxy_port);//設置http代理client.setSocketProxy("proxy_host",proxy_port);//設置socket代理//調(diào)用接口Stringpath="test.jpg";JSONObjectres=client.antiPorn(path);System.out.println(res.toString(2));}}在上面代碼中,常量APP_ID在百度云控制臺中創(chuàng)建,常量API_KEY與SECRET_KEY是在創(chuàng)建完畢應用后,系統(tǒng)分配給用戶的,均為字符串,用于標識用戶,為訪問做簽名驗證,可在AI服務控制臺中的應用列表中查看。注意:如您以前是百度云的老用戶,其中API_KEY對應百度云的“AccessKeyID”,SECRET_KEY對應百度云的“AccessKeySecret”。配置AipContentCensor如果用戶需要配置AipContentCensor的一些細節(jié)參數(shù),可以在構(gòu)造AipContentCensor之后調(diào)用接口設置參數(shù),目前只支持以下參數(shù):接口說明setConnectionTimeoutInMillis建立連接的超時時間(單位:毫秒)setSocketTimeoutInMillis通過打開的連接傳輸數(shù)據(jù)的超時時間(單位:毫秒)setHttpProxy設置http代理服務器setSocketProxy設置socket代理服務器(http和socket類型代理服務器只能二選一)SDK默認使用slf4j-simple包進行日志輸出,若用戶需要使用自定義日志實現(xiàn),可去除slf4j-simple依賴包,再額外添加相應的日志實現(xiàn)包即可。maven去除slf4j-simple依賴包示例:<dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>${version}</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId></exclusion></exclusions></dependency>接口說明圖像檢測接口提供圖像垃圾文本識別(反作弊)、惡心圖像識別等一系列圖像識別接口的一站式服務調(diào)用,并且支持用戶在控制臺中自定義配置所有接口的報警閾值和疑似區(qū)間,上傳自定義文本黑庫和敏感物體名單等。相比于組合服務接口,本接口除了支持自定義配置外,還對返回結(jié)果進行了總體的包裝,按照用戶在控制臺中配置的規(guī)則直接返回是否合規(guī),如果不合規(guī)則指出具體不合規(guī)的內(nèi)容。publicvoidsample(AipContentCensorclient){//參數(shù)為本地圖片路徑Stringpath="test.jpg";JSONObjectresponse=client.imageCensorUserDefined(path,EimgType.FILE,null);System.out.println(response.toString());//參數(shù)為urlStringurl="http://testurl";response=client.imageCensorUserDefined(url,EimgType.URL,null);System.out.println(response.toString());//參數(shù)為本地圖片文件二進制數(shù)組byte[]file=readImageFile(imagePath);response=client.imageCensorUserDefined(file,null);System.out.println(response.toString());}3.2本章小結(jié)本章主要介紹本文的主要工作:主要實現(xiàn)了人工智能平臺的機器學習算法設計與實現(xiàn),首先本文介紹了搭建整個人工智能平臺的流程化操作,然后分別針對每個功能模塊的安裝步驟進行的逐一介紹,hdfs主要是收集數(shù)據(jù)存儲數(shù)據(jù),在搭建的過程中要關(guān)注集群環(huán)境下的安裝配置方法,這對hdfs是否能正常工作發(fā)揮出高質(zhì)量的效果至關(guān)重要,第二步介紹了Spark計算引擎的搭建,Spark采用機器算法將寫好的算法邏輯分發(fā)到各個子服務器進行計算匯總最后給出結(jié)果,第三不主要是按裝配置第三方應用SDK,本例中使用的是百度大腦機器學習引擎,基于百度大腦對變電檢測中的圖片進行故障檢測,將根據(jù)圖像特征分析將分析后的結(jié)果數(shù)據(jù)通知給變電檢測系統(tǒng),然后再進一步業(yè)務處理后返回給工作人員或自動觸發(fā)應對措施。在按照本章介紹的安裝步驟操作完成后一個人工智能化的平臺便搭建成功。第4章結(jié)果驗證4.1驗證HDFS安裝是否成功1.啟動HDFSLinux命令行輸入:hdfsmaster節(jié)點安裝目錄下bin/start-dfs.sh啟動后在瀏覽器輸入hdfs服務地址,查看hdfs控制臺信息HDFS所在服務器http://ip:8088/cluster4.2啟動Spark[root@spark-masterspark-2.3.0]#sbin/start-all.sh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國異型價簽架數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國雙人被數(shù)據(jù)監(jiān)測研究報告
- 2025年中國速凍風機市場調(diào)查研究報告
- 2025年中國管狀電感線圈市場調(diào)查研究報告
- 2025年中國丙烯酸硬地鋪塑網(wǎng)球場市場調(diào)查研究報告
- 超聲監(jiān)測下腔靜脈目標導向液體治療對高齡老年髖部手術(shù)循環(huán)的影響
- 二零二五年度鋼管腳手架工程進度與質(zhì)量監(jiān)督合同4篇
- 2025年度電熱水器行業(yè)質(zhì)量標準制定合同樣本3篇
- 二零二五年度并購項目居間保密及后續(xù)服務合同2篇
- 二零二五年度二手車銷售代理合同3篇
- 圖像識別領(lǐng)域自適應技術(shù)-洞察分析
- 個體戶店鋪租賃合同
- 禮盒業(yè)務銷售方案
- 二十屆三中全會精神學習試題及答案(100題)
- 小學五年級英語閱讀理解(帶答案)
- 仁愛版初中英語單詞(按字母順序排版)
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項目可行性研究報告編制標準
- 小學一年級拼音天天練
- 新概念英語第二冊考評試卷含答案(第49-56課)
- 【奧運會獎牌榜預測建模實證探析12000字(論文)】
- 保安部工作計劃
評論
0/150
提交評論