2025年P(guān)ython深度學(xué)習(xí)實(shí)戰(zhàn)試卷:神經(jīng)網(wǎng)絡(luò)構(gòu)建與訓(xùn)練_第1頁
2025年P(guān)ython深度學(xué)習(xí)實(shí)戰(zhàn)試卷:神經(jīng)網(wǎng)絡(luò)構(gòu)建與訓(xùn)練_第2頁
2025年P(guān)ython深度學(xué)習(xí)實(shí)戰(zhàn)試卷:神經(jīng)網(wǎng)絡(luò)構(gòu)建與訓(xùn)練_第3頁
2025年P(guān)ython深度學(xué)習(xí)實(shí)戰(zhàn)試卷:神經(jīng)網(wǎng)絡(luò)構(gòu)建與訓(xùn)練_第4頁
2025年P(guān)ython深度學(xué)習(xí)實(shí)戰(zhàn)試卷:神經(jīng)網(wǎng)絡(luò)構(gòu)建與訓(xùn)練_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2025年P(guān)ython深度學(xué)習(xí)實(shí)戰(zhàn)試卷:神經(jīng)網(wǎng)絡(luò)構(gòu)建與訓(xùn)練考試時(shí)間:______分鐘總分:______分姓名:______一、編程題(共100分)題目一(40分):圖像分類實(shí)戰(zhàn)假設(shè)你正在處理一個(gè)手寫數(shù)字識(shí)別任務(wù),數(shù)據(jù)集已加載到變量`X_train`,`y_train`,`X_val`,`y_val`中。`X_train`和`X_val`分別是訓(xùn)練集和驗(yàn)證集的圖像數(shù)據(jù),形狀為(60000,28,28),像素值在0到1之間。`y_train`和`y_val`分別是訓(xùn)練集和驗(yàn)證集的標(biāo)簽,形狀為(60000,),為0到9的整數(shù)。請(qǐng)使用PyTorch框架完成以下任務(wù):1.數(shù)據(jù)預(yù)處理(10分):將`X_train`和`X_val`數(shù)據(jù)從(N,28,28)形狀轉(zhuǎn)換為(N,784)形狀,并分別將其歸一化到[-1,1]區(qū)間。2.模型構(gòu)建(15分):定義一個(gè)包含至少兩個(gè)隱藏層的全連接神經(jīng)網(wǎng)絡(luò)模型(MLP)。第一個(gè)隱藏層應(yīng)有128個(gè)神經(jīng)元,使用ReLU激活函數(shù);第二個(gè)隱藏層應(yīng)有64個(gè)神經(jīng)元,使用ReLU激活函數(shù)。輸出層應(yīng)有10個(gè)神經(jīng)元,使用Softmax激活函數(shù)(或等效輸出邏輯)。你需要使用PyTorch的`nn.Module`類來定義此模型。3.訓(xùn)練配置(5分):實(shí)例化你定義的模型。選擇合適的損失函數(shù)(用于多分類問題)和優(yōu)化器(如Adam),并設(shè)置初始學(xué)習(xí)率為0.001。4.模型訓(xùn)練(10分):編寫一個(gè)簡單的訓(xùn)練循環(huán),對(duì)模型進(jìn)行訓(xùn)練。至少進(jìn)行5個(gè)epochs。在每次epoch結(jié)束時(shí),使用驗(yàn)證集數(shù)據(jù)評(píng)估模型性能(計(jì)算驗(yàn)證集準(zhǔn)確率),并打印出當(dāng)前epoch的訓(xùn)練損失和驗(yàn)證準(zhǔn)確率。題目二(60分):文本情感分析實(shí)戰(zhàn)假設(shè)你正在處理一個(gè)電影評(píng)論情感分析任務(wù),數(shù)據(jù)集已加載到變量`texts_train`,`y_train`,`texts_val`,`y_val`中。`texts_train`和`texts_val`分別是訓(xùn)練集和驗(yàn)證集的評(píng)論文本,`y_train`和`y_val`分別是訓(xùn)練集和驗(yàn)證集的標(biāo)簽(0表示負(fù)面,1表示正面),形狀分別為(25000,)。請(qǐng)使用TensorFlow/Keras框架完成以下任務(wù):1.數(shù)據(jù)預(yù)處理(15分):對(duì)文本數(shù)據(jù)進(jìn)行預(yù)處理。你需要實(shí)現(xiàn)或使用框架內(nèi)置的方法進(jìn)行分詞(Tokenization),并構(gòu)建詞匯表。將文本轉(zhuǎn)換為詞索引序列。設(shè)置適當(dāng)?shù)脑~匯表大?。ɡ?,考慮只包含最常見的5000個(gè)詞)。對(duì)序列進(jìn)行填充或截?cái)?,使其長度一致(例如,固定長度為100)。將處理后的文本數(shù)據(jù)轉(zhuǎn)換為適合模型輸入的格式(如Embedding層的輸入)。注意:你需要自己實(shí)現(xiàn)或清晰地描述數(shù)據(jù)預(yù)處理的主要步驟邏輯。2.模型構(gòu)建(20分):定義一個(gè)基于Keras的情感分析模型。模型應(yīng)至少包含以下部分:*一個(gè)Embedding層,將詞索引映射到密集向量(例如,維度為32的向量)。*至少一個(gè)全局池化層(如GlobalAveragePooling1D)或一個(gè)簡單的卷積層+池化層組合。*至少一個(gè)全連接隱藏層,使用ReLU激活函數(shù)。*一個(gè)輸出層,使用Sigmoid激活函數(shù),輸出一個(gè)介于0和1之間的概率值。你需要使用Keras的`Sequential`或`FunctionalAPI`來構(gòu)建此模型。3.模型編譯與訓(xùn)練(15分):編譯你定義的模型。選擇合適的損失函數(shù)(用于二分類問題)和優(yōu)化器(如RMSprop或Adam),并設(shè)置初始學(xué)習(xí)率為0.001。使用訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,至少進(jìn)行5個(gè)epochs。在訓(xùn)練過程中,使用驗(yàn)證集數(shù)據(jù)監(jiān)控模型性能(計(jì)算驗(yàn)證集準(zhǔn)確率),并使用EarlyStopping回調(diào)函數(shù)來防止過擬合(設(shè)置patience值為3)。---試卷答案一、編程題(共100分)題目一(40分):圖像分類實(shí)戰(zhàn)```pythonimporttorchimporttorch.nnasnnimporttorch.optimasoptimfromtorch.utils.dataimportTensorDataset,DataLoader#假設(shè)數(shù)據(jù)已加載#X_train,y_train,X_val,y_val#1.數(shù)據(jù)預(yù)處理(10分)#轉(zhuǎn)換形狀X_train_reshaped=X_train.view(X_train.shape[0],-1)X_val_reshaped=X_val.view(X_val.shape[0],-1)#歸一化到[-1,1]X_train_normalized=2*X_train_reshaped-1X_val_normalized=2*X_val_reshaped-1#創(chuàng)建TensorDataset和DataLoadertrain_dataset=TensorDataset(torch.tensor(X_train_normalized,dtype=torch.float32),torch.tensor(y_train,dtype=torch.long))val_dataset=TensorDataset(torch.tensor(X_val_normalized,dtype=torch.float32),torch.tensor(y_val,dtype=torch.long))batch_size=64train_loader=DataLoader(train_dataset,batch_size=batch_size,shuffle=True)val_loader=DataLoader(val_dataset,batch_size=batch_size,shuffle=False)#2.模型構(gòu)建(15分)classMLP(nn.Module):def__init__(self):super(MLP,self).__init__()self.fc1=nn.Linear(784,128)self.relu1=nn.ReLU()self.fc2=nn.Linear(128,64)self.relu2=nn.ReLU()self.fc3=nn.Linear(64,10)#self.softmax=nn.Softmax(dim=1)#通常放在最后一起計(jì)算或使用損失函數(shù)處理defforward(self,x):x=self.fc1(x)x=self.relu1(x)x=self.fc2(x)x=self.relu2(x)x=self.fc3(x)#returnself.softmax(x)#如果使用NLLLoss,需要返回原始logitsreturnx#PyTorchCrossEntropyLoss內(nèi)部處理log_softmaxmodel=MLP()#3.訓(xùn)練配置(5分)criterion=nn.CrossEntropyLoss()#多分類交叉熵?fù)p失optimizer=optim.Adam(model.parameters(),lr=0.001)#4.模型訓(xùn)練(10分)epochs=5forepochinrange(epochs):model.train()running_loss=0.0forinputs,labelsintrain_loader:optimizer.zero_grad()outputs=model(inputs)loss=criterion(outputs,labels)loss.backward()optimizer.step()running_loss+=loss.item()*inputs.size(0)train_loss=running_loss/len(train_dataset)#驗(yàn)證model.eval()val_correct=0val_total=0withtorch.no_grad():forinputs,labelsinval_loader:outputs=model(inputs)_,predicted=torch.max(outputs.data,1)val_total+=labels.size(0)val_correct+=(predicted==labels).sum().item()val_accuracy=val_correct/val_totalprint(f'Epoch{epoch+1}/{epochs},TrainLoss:{train_loss:.4f},ValAccuracy:{val_accuracy:.4f}')```題目二(60分):文本情感分析實(shí)戰(zhàn)```pythonimportnumpyasnpfromtensorflowimportkerasfromtensorflow.kerasimportlayersfromtensorflow.keras.preprocessing.textimportTokenizerfromtensorflow.keras.preprocessing.sequenceimportpad_sequencesfromtensorflow.keras.callbacksimportEarlyStopping#假設(shè)數(shù)據(jù)已加載#texts_train,y_train,texts_val,y_val#1.數(shù)據(jù)預(yù)處理(15分)#參數(shù)設(shè)置max_words=5000max_len=100#分詞tokenizer=Tokenizer(num_words=max_words)tokenizer.fit_on_texts(texts_train)#轉(zhuǎn)換為序列X_train_seq=tokenizer.texts_to_sequences(texts_train)X_val_seq=tokenizer.texts_to_sequences(texts_val)#填充/截?cái)郮_train_pad=pad_sequences(X_train_seq,maxlen=max_len)X_val_pad=pad_sequences(X_val_seq,maxlen=max_len)#2.模型構(gòu)建(20分)model=keras.Sequential([layers.Embedding(input_dim=max_words,output_dim=32,input_length=max_len),layers.GlobalAveragePooling1D(),#layers.Conv1D(64,7,activation='relu'),#layers.MaxPooling1D(5),#layers.Conv1D(32,7,activation='relu'),#layers.GlobalMaxPooling1D(),layers.Dense(64,activation='relu'),layers.Dense(1,activation='sigmoid')])model.summary()#3.模型編譯與訓(xùn)練(15分)pile(optimizer='adam',lo

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論