版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目6AI云容器的部署目錄01
學(xué)習(xí)TensorFlow人工智能平臺(tái)02部署TensorFlow云容器03使用TensorFlow開發(fā)“HelloWorld”程序01學(xué)習(xí)TensorFlow人工智能平臺(tái)部署TensorFlow1.TensorFlowTensorFlow是谷歌公司開發(fā)的一個(gè)開源的機(jī)器學(xué)習(xí)框架。這個(gè)框架基于Python語言開發(fā),在圖形分類、音頻處理、自然語言處理等場(chǎng)景下應(yīng)用豐富,也是當(dāng)下非常熱門的機(jī)器學(xué)習(xí)框架之一。部署TensorFlow在安裝TensorFlow之前,需確保正在使用的系統(tǒng)是TensorFlow支持的。TensorFlow支持的系統(tǒng)如下。Ubuntu16.04及以上版本。Windows7及以上版本。macOS10.12.6及以上版本。Raspbian9.0及以上版本。確認(rèn)支持的系統(tǒng)之后,開始安裝TensorFlow。我們首先需要確保pip是最新版本,舊版本的pip在安裝的時(shí)候可能會(huì)遇到問題,所以我們需要先升級(jí)pip到最新版本。#pip3install--upgradepip部署TensorFlow確保pip是最新版本之后,使用如下命令安裝穩(wěn)定版的TensorFlow,其執(zhí)行結(jié)果如圖所示。#pip3installtensorflow通過下列命令測(cè)試TensorFlow是否安裝成功,如果有返回張量信息,則表明安裝成功。#python3-c"importtensorflowastf;print(tf.reduce_sum(tf.random.normal([1000,1000])))"02部署TensorFlow云容器部署TensorFlow云容器部署TensorFlow容器需要用到Docker,安裝Docker之前先升級(jí)apt包并且允許apt從倉(cāng)庫下載Docker。升級(jí)apt的命令如下,其執(zhí)行結(jié)果如圖所示。#sudoapt-getupdate部署TensorFlow云容器安裝包的命令如下,其執(zhí)行結(jié)果如圖所示。#sudoapt-getinstall\apt-transport-https\ca-certificates\curl\gnupg\lsb-release部署TensorFlow云容器添加Docker官方的GPG密鑰命令如下,其執(zhí)行結(jié)果如圖所示。#curl-fsSL/linux/ubuntu/gpg|sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpg部署TensorFlow云容器建立穩(wěn)定版的倉(cāng)庫,命令如下。#echo\"deb[arch=amd64signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]/linux/ubuntu\$(lsb_release-cs)stable"|sudotee/etc/apt/sources.list.d/docker.list>/dev/null倉(cāng)庫更改之后,需要再次更新apt。然后開始安裝Docker引擎,命令如下,其執(zhí)行結(jié)果如圖所示。#sudoapt-getupdate#sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io部署TensorFlow云容器安裝好Docker引擎后,開始安裝TensorFlow。官方TensorFlowDocker映像位于tensorflow/tensorflow,即DockerHub代碼庫中。下載鏡像的命令如下,其執(zhí)行結(jié)果如圖所示。#dockerpulltensorflow/tensorflow部署TensorFlow云容器鏡像下載好之后啟動(dòng)運(yùn)行,測(cè)試是否安裝成功。測(cè)試結(jié)果的命令如下,其執(zhí)行結(jié)果如圖所示。#dockerrun-it--rmtensorflow/tensorflow\python-c"importtensorflowastf;print(tf.reduce_sum(tf.random.normal([1000,1000])))"03使用TensorFlow開發(fā)“HelloWorld”程序使用TensorFlow開發(fā)程序1.手寫數(shù)字識(shí)別首先,創(chuàng)建一個(gè)helloworld.py文件,用來存儲(chǔ)“HelloWorld”的源代碼。在TensorFlow中,“HelloWorld”并不是真正輸出“HelloWorld”,而是指在機(jī)器學(xué)習(xí)和人工智能中,相當(dāng)于其他語言的“HelloWorld”地位的入門程序,是訓(xùn)練手寫數(shù)字的識(shí)別。用“touch”命令創(chuàng)建一個(gè)helloworld.py文件,存儲(chǔ)手寫數(shù)字識(shí)別程序,命令如下。#touchhelloworld.py文件創(chuàng)建完成后,用“l(fā)s”命令查看是否成功創(chuàng)建,若創(chuàng)建失敗,則需重新創(chuàng)建一個(gè),命令如下,結(jié)果如圖所示。#ls使用TensorFlow開發(fā)程序編輯helloworld.py文件的命令如下,其執(zhí)行結(jié)果如圖所示。#gedithelloworld.py使用TensorFlow開發(fā)程序?qū)胂螺d好的TensorFlow,代碼如下。importtensorflowastf在編寫程序之前,需要準(zhǔn)備好MNIST數(shù)據(jù)集:下載訓(xùn)練集和測(cè)試集,以及兩個(gè)數(shù)據(jù)集的標(biāo)簽。如果不下載數(shù)據(jù)集,Keras在檢測(cè)不到數(shù)據(jù)集的情況下會(huì)自動(dòng)下載數(shù)據(jù)集。下載MNIST數(shù)據(jù)集,如圖所示。使用TensorFlow開發(fā)程序樣本準(zhǔn)備好之后,將樣本的整數(shù)型數(shù)據(jù)轉(zhuǎn)化成浮點(diǎn)型數(shù)據(jù),代碼如下。mnist=tf.keras.datasets.mnist(x_train,y_train),(x_test,y_test)=mnist.load_data()x_train,x_test=x_train/255.0,x_test/255.0之后把各層模型堆疊起來,搭建tf.keras.Sequential模型,代碼如下。model=tf.keras.models.Sequential([tf.keras.layers.Flatten(input_shape=(28,28)),tf.keras.layers.Dense(128,activation='relu'),tf.keras.layers.Dropout(0.2),tf.keras.layers.Dense(10,activation='softmax')])使用TensorFlow開發(fā)程序?yàn)槟P瓦x擇一個(gè)損失函數(shù),代碼如下。pile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])最后對(duì)模型進(jìn)行訓(xùn)練和測(cè)試,訓(xùn)練的方法是fit(),測(cè)試的方法是evaluate()。訓(xùn)練和測(cè)試、運(yùn)行程序、訓(xùn)練和驗(yàn)證結(jié)果。訓(xùn)練、測(cè)試的代碼如下。model.fit(x_train,y_train,epochs=5)model.evaluate(x_test,y_test,verbose=2)使用TensorFlow開發(fā)程序使用TensorFlow開發(fā)程序2.服裝圖像分類服裝產(chǎn)品的分類對(duì)于購(gòu)物App來說是不可繞開的一環(huán),沒有產(chǎn)品分類,消費(fèi)者尋找商品的時(shí)候會(huì)沒有頭緒,無法準(zhǔn)確找到自己想要的產(chǎn)品(如鞋子、帽子等)。因此服飾產(chǎn)品的分類在銷售過程中顯得尤為重要:能夠幫助客戶更快定位想要的產(chǎn)品類型,進(jìn)而推送相關(guān)產(chǎn)品給客戶,達(dá)到銷售的目的。服裝圖像分類會(huì)用到Keras。Keras是Python的深度學(xué)習(xí)API,以TensorFlow作為后端支持Keras的運(yùn)行。這里不是直接使用Keras或直接導(dǎo)入Keras,而是通過TensorFlow導(dǎo)入經(jīng)過打磨后的API“keras”,其代碼如下。fromtensorflowimportkeras進(jìn)行程序開發(fā)的第一步,創(chuàng)建一個(gè)Python文件,用于保存程序。用“touch”命令創(chuàng)建一個(gè)名為cloth.py的文件,并且用“l(fā)s”命令查看文件是否創(chuàng)建成功,命令如下,結(jié)果如圖所示。touchcloth.pyls使用TensorFlow開發(fā)程序文件創(chuàng)建成功之后,進(jìn)入cloth.py文件,編寫程序,命令如下。geditcloth.py本程序?qū)?huì)使用TensorFlow以及Keras,所以需要在文件開頭導(dǎo)入這兩個(gè)庫。進(jìn)入cloth.py文件,添加如下內(nèi)容導(dǎo)入TensorFlow以及Keras,以滿足之后程序開發(fā)所需要的功能需求。importtensorflowastffromtensorflowimportkeras在進(jìn)行圖像分類時(shí),還需要額外用到NumPy庫和Matplotlib庫。NumPy庫是Python的科學(xué)計(jì)算基礎(chǔ)軟件庫,是眾多Python庫中的一個(gè)。Matplotlib庫是Python的2D繪圖庫,它可以生成圖表、直方圖、功率譜、條形圖、誤差圖、散點(diǎn)圖等。服裝圖像分類需要用NumPy庫進(jìn)行科學(xué)計(jì)算,用Matplotlib庫輸出分類結(jié)果的圖表,讓使用者能夠更加直觀地看到最終的分類結(jié)果。使用TensorFlow開發(fā)程序在使用這兩個(gè)庫之前,需要確保計(jì)算機(jī)上安裝了NumPy和Matplotlib,用以下命令安裝NumPy和matplotlib。pipinstallnumpypipinstallmatplotlib如果計(jì)算機(jī)上已經(jīng)安裝了某庫,就會(huì)提示該庫已存在。如本任務(wù)在安裝NumPy時(shí),計(jì)算機(jī)已經(jīng)安裝過這個(gè)庫,因此在執(zhí)行命令的時(shí)候會(huì)提示NumPy庫已經(jīng)安裝。NumPy庫已存在的提醒如圖所示。使用TensorFlow開發(fā)程序安裝Matplotlib,如圖所示。若計(jì)算機(jī)未安裝該庫,將顯示安裝過程和進(jìn)度,直至最后安裝成功的提示。如果Matplotlib安裝失敗,用戶可以查看錯(cuò)誤信息并根據(jù)其內(nèi)容進(jìn)行調(diào)整。使用TensorFlow開發(fā)程序NumPy庫和Matplotlib庫安裝完成之后,返回cloth.py程序文件,在程序文件的頭部導(dǎo)入這兩個(gè)庫,并將NumPy庫的使用名改為np,用“as”命令就可以更改NumPy在調(diào)用時(shí)使用的名字,Matplotlib庫中只需導(dǎo)入pyplot即可,同樣也更改使用名,將名字更改為plt。在cloth.py頭部添加如下內(nèi)容導(dǎo)入NumPy和Matplotlib。importnumpyasnpimportmatplotlib.pyplotasplt本任務(wù)用的數(shù)據(jù)集是FashionMNIST數(shù)據(jù)集,如圖所示,其中包含60000個(gè)訓(xùn)練集和10000個(gè)測(cè)試集。訓(xùn)練集的意思是這一部分的數(shù)據(jù)集合是用來訓(xùn)練圖像分類模型的,測(cè)試集則是用于檢驗(yàn)訓(xùn)練完的模型。使用TensorFlow開發(fā)程序FashionMNIST數(shù)據(jù)集中,每張圖片都是28×28像素大小,每張圖片的像素值為0~255,總共被分為10類,訓(xùn)練集和測(cè)試集中的每張圖片都有對(duì)應(yīng)的標(biāo)簽。標(biāo)簽的數(shù)字對(duì)應(yīng)著程序分類之后的結(jié)果,將結(jié)果和數(shù)字對(duì)應(yīng),結(jié)合Matplotlib庫輸出一個(gè)圖表,提供更加直觀的可視化結(jié)果。FashionMNIST數(shù)據(jù)集分類,如表所示。標(biāo)簽名稱0T-shirt/top1Trouser2Pullover3Dress4Coat5Sandal6Shirt7Sneaker8Bag9Ankleboot使用TensorFlow開發(fā)程序找到了需要的數(shù)據(jù)集之后,接下來就是在cloth.py文件中下載數(shù)據(jù)集,并且對(duì)數(shù)據(jù)集進(jìn)行分類放置。TensorFlow已經(jīng)為用戶準(zhǔn)備好了下載數(shù)據(jù)集的方法,讀者只需要調(diào)用load_data()這個(gè)方法就可以下載和分類數(shù)據(jù)集了。下載數(shù)據(jù)集,如圖所示。下載數(shù)據(jù)集的代碼如下。fashion_mnist=keras.datasets.fashion_mnistfashion_mnist.load_data()=(train_images,train_labels),(test_images,test_labels)代碼所表達(dá)的意思是:將數(shù)據(jù)分成訓(xùn)練集和測(cè)試集兩個(gè)部分,每個(gè)部分分成圖片和標(biāo)簽,下載完成后,load_data()方法會(huì)返回4個(gè)NumPy數(shù)組,對(duì)應(yīng)著“(train_images,train_labels),(test_images,test_labels)”。下載方法寫好后保存程序,回到終端執(zhí)行cloth.py文件,執(zhí)行下載方法。使用TensorFlow開發(fā)程序?yàn)榱耸馆敵龅慕Y(jié)果更加直觀,這里加上了標(biāo)簽的名稱,作為Matplotlib繪制圖標(biāo)時(shí)的坐標(biāo)名稱,代碼如下。class_names=['T-shirt/top','Trouser','Pullover','Dress','Coat','Sandal','Shirt','Sneaker','Bag','Ankleboot']之后是數(shù)據(jù)的處理部分,先查看之前下載的數(shù)據(jù)集。需要用到Matplotlib庫查看經(jīng)過處理后的圖片。plt.figure()plt.imshow(train_images[9])plt.colorbar()plt.grid(False)plt.show()plt.figure()plt.imshow(train_images[19])plt.colorbar()plt.grid(False)plt.show()使用TensorFlow開發(fā)程序使用TensorFlow開發(fā)程序查看完數(shù)據(jù)集之后,為了訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,需要對(duì)這些數(shù)據(jù)集進(jìn)行預(yù)處理,將每張圖片0~255的像素?cái)?shù)值,轉(zhuǎn)化為0~1的像素?cái)?shù)值,因此需要將每一個(gè)訓(xùn)練集和測(cè)試集的圖片像素?cái)?shù)值都除以255.0,讓每一張圖片的最終像素?cái)?shù)值都在0~1之間,代碼如下。train_images=train_images/255.0test_images=test_images/255.0預(yù)處理完數(shù)據(jù)集中訓(xùn)練集和測(cè)試集的圖片,用Matplotlib庫檢查圖像的像素?cái)?shù)值、格式等是否正確,代碼如下。檢查圖像,如圖6-30所示。plt.figure(figsize=(10,10))foriinrange(25):plt.subplot(5,5,i+1)plt.xticks([])plt.yticks([])plt.grid(False)plt.imshow(train_images[i],cmap=plt.cm.binary)plt.xlabel(class_names[train_labels[i]])plt.show()使用TensorFlow開發(fā)程序使用TensorFlow開發(fā)程序訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型需要先構(gòu)建模型,配置模型的層(Layer),然后編譯和訓(xùn)練模型。層是構(gòu)成神經(jīng)網(wǎng)絡(luò)的基本組成部分,層會(huì)從輸入數(shù)據(jù)(經(jīng)過運(yùn)算后的一些數(shù)據(jù))中提取特征,利用這些數(shù)據(jù)解決問題。本任務(wù)利用Keras的Sequential()方法,配置了3層模型,分別是扁平層和兩個(gè)密集連接或全連接神經(jīng)層。第一層扁平層的作用是將二維數(shù)組轉(zhuǎn)化為一維數(shù)組,因?yàn)閳D片是一個(gè)二維的數(shù)據(jù),因此用二維數(shù)組保存。為了訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,需要將這個(gè)二維的數(shù)據(jù)轉(zhuǎn)換成一維的數(shù)據(jù)。將二維數(shù)組轉(zhuǎn)化為一維數(shù)組的操作叫作扁平化。第二層和第三層是密集連接層或全連接層,如果神經(jīng)網(wǎng)絡(luò)層數(shù)多的話,它們都可以計(jì)入隱藏層。第一個(gè)Dense層有128個(gè)神經(jīng)元,使用的激活函數(shù)是relu函數(shù);第二個(gè)Dense層會(huì)返回一個(gè)長(zhǎng)度為10的logits數(shù)組,每個(gè)元素有一個(gè)得分,用來表示當(dāng)前預(yù)測(cè)的圖像屬于10個(gè)標(biāo)簽中的哪一類。代碼如下。model=keras.Sequential([keras.layers.Flatten(input_shape=(28,28)),keras.layers.Dense(128,activation='relu'),keras.layers.Dense(10)])使用TensorFlow開發(fā)程序在編譯模型這個(gè)步驟中,需要確定一些關(guān)鍵的信息,比如損失函數(shù)、優(yōu)化器、指標(biāo)等,這些信息對(duì)最終模型的訓(xùn)練有著很大的影響。損失函數(shù)的作用是測(cè)量模型在訓(xùn)練期間的準(zhǔn)確率,優(yōu)化器的作用是決定模型如何根據(jù)數(shù)據(jù)和損失函數(shù)進(jìn)行更新,指標(biāo)的作用是監(jiān)控訓(xùn)練和測(cè)試步驟。代碼如下。pile(optimizer='adam',loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),metrics=['accuracy'])所有準(zhǔn)備步驟完成之后,開始訓(xùn)練模型。首先擬合數(shù)據(jù),調(diào)用model.fit()方法就可以擬合模型與訓(xùn)練數(shù)據(jù)。擬合就是對(duì)模型的訓(xùn)練,代碼里進(jìn)行了10個(gè)輪次的擬合。擬合模型如圖所示。擬合后可以看到模型的準(zhǔn)確率有0.9100。使用TensorFlow開發(fā)程序查看模型在測(cè)試集上的準(zhǔn)確度代碼如下,其結(jié)果如圖所示。test_loss,test_acc=model.evaluate(test_images,test_labels,verbose=2)print('\n測(cè)試集準(zhǔn)確度:',test_acc)模型在測(cè)試集上的準(zhǔn)確度并沒有在訓(xùn)練集上的高,測(cè)試集的準(zhǔn)確度大概為0.8851,這里有一個(gè)比較重要的概念——過擬合。過擬合指的是機(jī)器學(xué)習(xí)模型對(duì)新的輸入、一些不屬于訓(xùn)練集的輸入進(jìn)行預(yù)測(cè)、分類等操作時(shí)的表現(xiàn)并沒有在訓(xùn)練數(shù)據(jù)上表現(xiàn)得好。過擬合會(huì)記住訓(xùn)練集上的一些噪聲和細(xì)節(jié),這些內(nèi)容會(huì)對(duì)模型在新數(shù)據(jù)上的表現(xiàn)有負(fù)面影響。使用TensorFlow開發(fā)程序模型訓(xùn)練好之后,接下來就是對(duì)圖像進(jìn)行實(shí)際的預(yù)測(cè)。本任務(wù)的模型中增加了一層softmax層,用于將logits的線性輸出轉(zhuǎn)化成概率,代碼如下。probability_model=tf.keras.Sequential([model,tf.keras.layers.Softmax()])predictions=probability_model.predict(test_images)添加完成之后,對(duì)測(cè)試集的數(shù)據(jù)進(jìn)行預(yù)測(cè),并且輸出預(yù)測(cè)圖像的標(biāo)簽,對(duì)比預(yù)測(cè)的結(jié)果是否準(zhǔn)確,代碼如下。預(yù)測(cè)結(jié)果如圖所示。np.argmax(predictions[10])test_labels[10]在JupyterNotebook中,可以看到分段執(zhí)行的兩部分代碼:預(yù)測(cè)結(jié)果和圖像標(biāo)簽。這就是說,可以更加直觀地看出預(yù)測(cè)的結(jié)果是否跟標(biāo)簽標(biāo)記的相同。模型顯示第一張圖預(yù)測(cè)的結(jié)果,這張圖片的內(nèi)容屬于分類里的第十類,也就是Ankleboot(短靴)。從預(yù)測(cè)圖片的標(biāo)簽中可以知道,這張圖片確實(shí)屬于短靴,因此模型的預(yù)測(cè)結(jié)果是正確的。使用TensorFlow開發(fā)程序接下來就是利用Maplotlib庫將預(yù)測(cè)的結(jié)果繪制成圖表,更加直觀地顯示預(yù)測(cè)結(jié)果。為了能夠繪制圖表,需要?jiǎng)?chuàng)建兩個(gè)方法,分別是plot_image()和plot_value_array()。plot_image()方法用于繪制預(yù)測(cè)的圖片以及所屬類別和預(yù)測(cè)準(zhǔn)確率,plot_value_array()方法用于繪制預(yù)測(cè)結(jié)果的直方圖,代碼如下。defplot_image(i,predictions_array,true_label,img):predictions_array,true_label,img=predictions_array,true_label[i],img[i]plt.grid(False)plt.xticks([])plt.yticks([])plt.imshow(img,cmap=plt.cm.binary)predicted_label=np.argmax(predictions_array)ifpredicted_label==true_label:color='blue'else:color='red'plt.xlabel("{}{:2.0f}%({})".format(class_names[predicted_label],100*np.max(predictions_array),class_names[true_label]),color=color)defplot_value_array(i,predictions_array,true_label):predictions_array,true_label=predictions_array,true_label[i]plt.grid(False)plt.xticks(range(10))plt.yticks([])thisplot=plt.bar(range(10),predictions_array,color="#777777")plt.ylim([0,1])predicted_label=np.argmax(predictions_array)thisplot[predicted_label].set_color('red')thisplot[true_label].set_color('blue')使用TensorFlow開發(fā)程序?qū)懲昀L制圖表的方法后,接下來就是通過圖表的方式顯示預(yù)測(cè)結(jié)果的時(shí)刻。比如,測(cè)試集中的第22張圖的預(yù)測(cè)結(jié)果,第55張圖的預(yù)測(cè)結(jié)果。代碼如下。i=21plt.figure(figsize=(6,3))plt.subplot(1,2,1)plot_image(i,predictions[i],test_labels,test_images)plt.subplot(1,2,2)plot_value_array(i,predictions[i],test_labels)plt.show()i=54plt.figure(figsize=(6,3))plt.subplot(1,2,1)plot_image(i,predictions[i],test_labels,test_images)plt.subplot(1,2,2)plot_value_array(i,predictions[i],test_labels)plt.show()使用TensorFlow開發(fā)程序3.電影評(píng)論分類評(píng)論在日常生活中是很常見的,比如在各種相應(yīng)的App中會(huì)有對(duì)餐飲店、景點(diǎn)、住宿、商家等的評(píng)論,評(píng)論的內(nèi)容各式各樣,有積極的評(píng)論、中肯的評(píng)論、惡意的評(píng)論等。本任務(wù)將關(guān)注對(duì)電影的評(píng)論,并將評(píng)論的內(nèi)容分為積極和消極兩類,這也是一個(gè)機(jī)器學(xué)習(xí)中重要且應(yīng)用廣泛的二分類問題。本任務(wù)采用了網(wǎng)絡(luò)電影數(shù)據(jù)庫中的IMDB數(shù)據(jù)集,這個(gè)數(shù)據(jù)集包含50000條電影評(píng)論。任務(wù)中將這50000條評(píng)論按照好評(píng)和差評(píng)切割成訓(xùn)練集和測(cè)試集,兩個(gè)數(shù)據(jù)集都有25000條評(píng)論數(shù)據(jù)。任務(wù)的開始需要?jiǎng)?chuàng)建comment.py文件,用于存儲(chǔ)程序。命令如下。touchcomment.py本任務(wù)將在JupyterNotebook上進(jìn)行,因此運(yùn)行過程中的代碼需要讀者自行保存到創(chuàng)建好的comment.py文件中。首先導(dǎo)入TensorFlow庫、Keras庫和NumPy庫,代碼如下。importtensorflowastffromtensorflowimportkerasimportnumpyasnp使用TensorFlow開發(fā)程序接下來用TensorFlow提供的下載數(shù)據(jù)集的方法,將IMDB數(shù)據(jù)集下載并保存到NumPy數(shù)組里,代碼如下。num_words參數(shù)保留了1萬個(gè)常見單詞,低頻的詞匯會(huì)被丟棄。下載數(shù)據(jù)集,如圖所示。imdb=keras.datasets.imdb(train_data,train_labels),(test_data,test_labels)=imdb.load_data(num_words=10000)使用TensorFlow開發(fā)程序IMDB影評(píng)數(shù)據(jù)集是經(jīng)過處理后的數(shù)據(jù)集,每個(gè)單詞都被轉(zhuǎn)化成對(duì)應(yīng)的整數(shù)數(shù)字,標(biāo)簽有兩個(gè)數(shù)值,分別是0和1,0代表差評(píng),1代表好評(píng)。隨機(jī)輸出一條處理后的評(píng)論及其標(biāo)簽。評(píng)論數(shù)據(jù)、評(píng)論數(shù)據(jù)的標(biāo)簽。使用TensorFlow開發(fā)程序在輸出的評(píng)論數(shù)據(jù)中可以看到每個(gè)單詞都被轉(zhuǎn)化成數(shù)字,最終以數(shù)組的形式呈現(xiàn)。由于影評(píng)的長(zhǎng)度各不相同,但神經(jīng)網(wǎng)絡(luò)的輸入必須長(zhǎng)度一致,因此本任務(wù)使用填充數(shù)組的方式讓數(shù)組長(zhǎng)度標(biāo)準(zhǔn)化,可以調(diào)用Keras庫中的pad_sequences()方法。把處理數(shù)據(jù)這一步作為神經(jīng)網(wǎng)絡(luò)的第一層,代碼如下。train_data=keras.preprocessing.sequence.pad_sequences(train_data,value=0,padding='post',maxlen=256)test_data=keras.preprocessing.sequence.pad_sequences(test_data,value=0,padding='post',maxlen=256)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全禿的臨床護(hù)理
- 產(chǎn)力異常的健康宣教
- JJF(陜) 069-2021 氣體流量計(jì)(熱氣體法)校準(zhǔn)規(guī)范
- JJF(陜) 020-2020 中心距卡尺校準(zhǔn)規(guī)范
- 課外閱讀推廣與活動(dòng)設(shè)計(jì)計(jì)劃
- 美術(shù)教學(xué)評(píng)價(jià)體系構(gòu)建計(jì)劃
- 提升服務(wù)質(zhì)量構(gòu)建和諧生活部計(jì)劃
- 資本運(yùn)作投資合同三篇
- 優(yōu)化工作流程的詳細(xì)方案計(jì)劃
- 2024-2025學(xué)年年七年級(jí)數(shù)學(xué)人教版下冊(cè)專題整合復(fù)習(xí)卷28.1 銳角三角函數(shù)(一)同步測(cè)控優(yōu)化訓(xùn)練(含答案)
- 配網(wǎng)規(guī)劃建設(shè)匯報(bào)
- 大學(xué)生個(gè)人職業(yè)生涯規(guī)劃課件模板
- 2024-2025學(xué)年上學(xué)期天津六年級(jí)英語期末模擬卷1
- 餐飲行業(yè)智能點(diǎn)餐與外賣系統(tǒng)開發(fā)方案
- 2024-2025學(xué)年九年級(jí)數(shù)學(xué)上學(xué)期期末考試卷
- 物業(yè)經(jīng)理轉(zhuǎn)正述職
- 24秋國(guó)家開放大學(xué)《企業(yè)信息管理》形考任務(wù)1-4參考答案
- 2024年共青團(tuán)團(tuán)課培訓(xùn)考試題庫及答案
- 2024年共青團(tuán)入團(tuán)考試測(cè)試題庫及答案
- 工程項(xiàng)目管理-001-國(guó)開機(jī)考復(fù)習(xí)資料
- 2022年全國(guó)應(yīng)急普法知識(shí)競(jìng)賽試題庫大全-下(判斷題庫-共4部分-2)
評(píng)論
0/150
提交評(píng)論