




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
使用卷積網(wǎng)絡(luò)實(shí)現(xiàn)圖像分類(lèi)第四章01了解卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)02掌握CNN基本原理、熟悉CNN主要應(yīng)用03
能夠搭建和訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型04解決實(shí)際的圖像分類(lèi)問(wèn)題、對(duì)圖像數(shù)據(jù)進(jìn)行預(yù)處理和增強(qiáng)學(xué)習(xí)目標(biāo)CONTENTS01構(gòu)建和訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型,提高實(shí)踐動(dòng)手能力02培養(yǎng)良好的編程習(xí)慣03提高問(wèn)題分析和解決問(wèn)題的能力04培養(yǎng)團(tuán)隊(duì)合作和溝通能力素質(zhì)目標(biāo)CONTENTS05培養(yǎng)持續(xù)學(xué)習(xí)的意識(shí)和能力搭建CNN模型訓(xùn)練模型實(shí)踐任務(wù)準(zhǔn)備數(shù)據(jù)測(cè)試模型第一節(jié)
FashionMNIST圖像分類(lèi)任務(wù)介紹FashionMNIST是一個(gè)常用的圖像分類(lèi)數(shù)據(jù)集,它由Zalando提供,包含了10個(gè)類(lèi)別的灰度圖像,每個(gè)類(lèi)別包含6000張訓(xùn)練圖像和1000張測(cè)試圖像,圖像大小為28x28像素。
FashionMNIST的任務(wù)是將28x28像素的灰度圖像分類(lèi)到10個(gè)不同的類(lèi)別,包括T恤/上衣、褲子、套衫、連衣裙、外套、涼鞋、襯衫、運(yùn)動(dòng)鞋、手提包和踝靴。這個(gè)任務(wù)的挑戰(zhàn)在于,所有的圖像都是灰度圖像,并且類(lèi)別之間的差異較小,需要通過(guò)學(xué)習(xí)圖像中微小的特征來(lái)進(jìn)行分類(lèi)。任務(wù)需求描述FashionMNIST圖像分類(lèi)任務(wù)介紹在全連接層中,相鄰層的神經(jīng)元全部連接在一起,輸出的數(shù)量可以任意決定。首要的問(wèn)題是數(shù)據(jù)的形狀被“忽視”了。比如,輸入數(shù)據(jù)是圖像時(shí),圖像通常是高、長(zhǎng)、通道方向上的3維形狀。但是,向全連接層輸入時(shí),需要將3維數(shù)據(jù)拉平為1維數(shù)據(jù)。圖像是3維形狀,這個(gè)形狀中應(yīng)該含有重要的空間信息。比如,空間上鄰近的像素為相似的值、RBG的各個(gè)通道之間分別有密切的關(guān)聯(lián)性、相距較遠(yuǎn)的像素之間沒(méi)有什么關(guān)聯(lián)等,3維形狀中可能隱藏有值得提取的本質(zhì)模式。而卷積層可以保持形狀不變。當(dāng)輸入數(shù)據(jù)是圖像時(shí),卷積層會(huì)以3維數(shù)據(jù)的形式接收輸入數(shù)據(jù),并同樣以3維數(shù)據(jù)的形式輸出至下一層。因此,在CNN中,可以(有可能)正確理解圖像等具有形狀的數(shù)據(jù)。技術(shù)分析FashionMNIST圖像分類(lèi)任務(wù)介紹總結(jié)1.全連接前饋網(wǎng)絡(luò)很難提取這些局部不變特征2.卷積神經(jīng)網(wǎng)絡(luò)受到生物學(xué)上感受機(jī)制而提出的3.神經(jīng)元的感受野是指視網(wǎng)膜上的特定區(qū)域,只有這個(gè)區(qū)域內(nèi)的刺激才能夠激活該神經(jīng)。第二節(jié)
卷積計(jì)算在卷積神經(jīng)網(wǎng)絡(luò)中,緊隨輸入層的通常是一個(gè)卷積層(ConvolutionalLayer)。卷積的實(shí)現(xiàn)靈感來(lái)源于生物學(xué)上的感受野(ReceptiveField),后者是人體聽(tīng)覺(jué)或視覺(jué)等系統(tǒng)中神經(jīng)說(shuō)具有的特殊性質(zhì)——即神經(jīng)元只對(duì)自己可以接受的某些活動(dòng)范圍/條件內(nèi)的信號(hào)產(chǎn)生刺激,例如,聽(tīng)覺(jué)系統(tǒng)中各神經(jīng)元對(duì)不同頻率聲音的反應(yīng)是有差異的。卷積層定義卷積運(yùn)算卷積層進(jìn)行的處理就是卷積運(yùn)算。卷積運(yùn)算相當(dāng)于圖像處理中的“濾波器運(yùn)算”。在介紹卷積運(yùn)算時(shí),我們來(lái)看一個(gè)具體的例子。卷積運(yùn)算填充數(shù)據(jù)在進(jìn)行卷積層的處理之前,有時(shí)要向輸入數(shù)據(jù)的周?chē)钊牍潭ǖ臄?shù)據(jù)(比如0等),這稱為填充(padding),是卷積運(yùn)算中經(jīng)常會(huì)用到的處理。比如,在輸入數(shù)據(jù)中,對(duì)大小為(4,4)的輸入數(shù)據(jù)應(yīng)用了幅度為1的填充?!胺葹?的填充”是指用幅度為1像素的0填充周?chē)L畛鋽?shù)據(jù)步幅應(yīng)用濾波器的位置間隔稱為步幅(stride)。之前的例子中步幅都是1,如果將步幅設(shè)為2,則如圖所示,應(yīng)用濾波器的窗口的間隔變?yōu)?個(gè)元素。增大步幅后,輸出大小會(huì)變小。而增大填充后,輸出大小會(huì)變大。步幅多維卷積如果原始輸入是一維的圖片,但是我們可以用多個(gè)卷積核分別對(duì)其計(jì)算,從而得到多個(gè)特征輸出。如圖所示。多維卷積多維卷積一張圖片,通常是彩色的,具有紅綠藍(lán)三個(gè)通道。我們可以有兩個(gè)選擇來(lái)處理: (1)變成灰度的,每個(gè)像素只剩下一個(gè)值,就可以用二維卷積
(2)對(duì)于三個(gè)通道,每個(gè)通道都使用一個(gè)卷積核,分別處理紅綠藍(lán)三種顏色的信息。顯然第2種方法可以從圖中學(xué)習(xí)到更多的特征,于是出現(xiàn)了三維卷積,即有三個(gè)卷積核分別對(duì)應(yīng)書(shū)的三個(gè)通道,三個(gè)子核的尺寸是一樣的,比如都是2x2,這樣的話,這三個(gè)卷積核就是一個(gè)3x2x2的立體核,稱為過(guò)濾器Filter,所以稱為三維卷積。卷積的批處理神經(jīng)網(wǎng)絡(luò)的處理中進(jìn)行了將輸入數(shù)據(jù)打包的批處理。之前的全連接神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)也對(duì)應(yīng)了批處理,通過(guò)批處理,能夠?qū)崿F(xiàn)處理的高效化和學(xué)習(xí)時(shí)對(duì)mini-batch的對(duì)應(yīng)。我們希望卷積運(yùn)算也同樣對(duì)應(yīng)批處理。為此,需要將在各層間傳遞的數(shù)據(jù)保存為4維數(shù)據(jù)。具體地講,就是按(batch_num,channel,height,width)的順序保存數(shù)據(jù)。卷積的批處理卷積的批處理池化池化pooling,又稱為下采樣,downstreamsamplingorsub-sampling。池化方法分為兩種,一種是最大值池化MaxPooling,一種是平均值池化Mean/AveragePooling。第三節(jié)用PyTorch實(shí)現(xiàn)卷積計(jì)算實(shí)現(xiàn)卷積計(jì)算第三節(jié)用PyTorch實(shí)現(xiàn)卷積計(jì)算CNN中各層間傳遞的數(shù)據(jù)是4維數(shù)據(jù)。所謂4維數(shù)據(jù),比如數(shù)據(jù)的形狀是(10,1,28,28),則它對(duì)應(yīng)10個(gè)高為28、長(zhǎng)為28、通道為1的數(shù)據(jù)。用Python來(lái)實(shí)現(xiàn)的話,代碼如下:x=np.random.rand(10,1,28,28)#隨機(jī)生成數(shù)據(jù)。這里,如果要訪問(wèn)第1個(gè)數(shù)據(jù),只要寫(xiě)x[0]就可以了(注意Python的索引是從0開(kāi)始的)。同樣地,用x[1]可以訪問(wèn)第2個(gè)數(shù)據(jù)。代碼如下:x[0].shape#(1,28,28)x[1].shape#(1,28,28)如果要訪問(wèn)第1個(gè)數(shù)據(jù)的第1個(gè)通道的空間數(shù)據(jù),代碼如下:x[0,0]#或者x[0][0]準(zhǔn)備數(shù)據(jù)卷積層的實(shí)現(xiàn)im2col函數(shù)作為黑盒(不關(guān)心內(nèi)部實(shí)現(xiàn))使用,使用im2col來(lái)實(shí)現(xiàn)卷積層的前向傳播。卷積神層的實(shí)現(xiàn)
col2im函數(shù)作為黑盒(不關(guān)心內(nèi)部實(shí)現(xiàn))使用,使用col2來(lái)實(shí)現(xiàn)卷積層的反向傳播。defbackward(self,dout):FN,C,FH,FW=self.W.shapedout=dout.transpose(0,2,3,1).reshape(-1,FN)
self.db=np.sum(dout,axis=0)self.dW=np.dot(self.col.T,dout)self.dW=self.dW.transpose(1,0).reshape(FN,C,FH,FW)
dcol=np.dot(dout,self.col_W.T)dx=col2im(dcol,self.x.shape,FH,FW,self.stride,self.pad)
returndx池化層的實(shí)現(xiàn)池化層的實(shí)現(xiàn)和卷積層相同,都使用im2col展開(kāi)輸入數(shù)據(jù)。具體實(shí)現(xiàn)代碼如下:第四節(jié)
卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)SimpleConvNet類(lèi)classSimpleConvNet:def__init__(self,input_dim=(1,28,28),conv_param={'filter_num':30,'filter_size':5,'pad':0,'stride':1},hidden_size=100,output_size=10,weight_init_std=0.01):filter_num=conv_param['filter_num']filter_size=conv_param['filter_size']filter_pad=conv_param['pad']filter_stride=conv_param['stride']input_size=input_dim[1]conv_output_size=(input_size-filter_size+2*filter_pad)/filter_stride+1pool_output_size=int(filter_num*(conv_output_size/2)*(conv_output_size/2))第四節(jié)
卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)初始化權(quán)重#初始化權(quán)重self.params={}self.params['W1']=weight_init_std*\np.random.randn(filter_num,input_dim[0],filter_size,filter_size)self.params['b1']=np.zeros(filter_num)self.params['W2']=weight_init_std*\np.random.randn(pool_output_size,hidden_size)self.params['b2']=np.zeros(hidden_size)self.params['W3']=weight_init_std*\np.random.randn(hidden_size,output_size)self.params['b3']=np.zeros(output_size)第四節(jié)
卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)生成必要層#生成層self.layers=OrderedDict()self.layers['Conv1']=Convolution(self.params['W1'],self.params['b1'],conv_param['stride'],conv_param['pad'])self.layers['Relu1']=Relu()self.layers['Pool1']=Pooling(pool_h=2,pool_w=2,stride=2)self.layers['Affine1']=Affine(self.params['W2'],self.params['b2'])self.layers['Relu2']=Relu()self.layers['Affine2']=Affine(self.params['W3'],self.params['b3'])
self.last_layer=SoftmaxWithLoss()第四節(jié)
卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)predictdefpredict(self,x):forlayerinself.layers.values():x=layer.forward(x)
returnxdefloss(self,x,t):"""求損失函數(shù)
參數(shù)x是輸入數(shù)據(jù)、t是標(biāo)簽"""y=self.predict(x)returnself.last_layer.forward(y,t)第四節(jié)
卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)反向傳播法求梯度defgradient(self,x,t):#forwardself.loss(x,t)
#backwarddout=1dout=self.last_layer.backward(dout)
layers=list(self.layers.values())layers.reverse()forlayerinlayers:dout=layer.backward(dout)實(shí)踐任務(wù)1我們這里的任務(wù)是對(duì)10個(gè)類(lèi)別的“時(shí)裝”圖像進(jìn)行分類(lèi),使用FashionMNIST數(shù)據(jù)集。下圖給出了FashionMNIST中數(shù)據(jù)的若干樣例圖,如圖所示,其中每個(gè)小圖對(duì)應(yīng)一個(gè)樣本。FashionMNIST數(shù)據(jù)集處理實(shí)踐任務(wù)1FashionMNIST數(shù)據(jù)集處理導(dǎo)入必要的包,代碼如下:importos
importnumpyasnp
importpandasaspd
importtorch
importtorch.nnasnn
importtorch.optimasoptim
fromtorch.utils.dataimportDataset,DataLoader實(shí)踐任務(wù)1FashionMNIST數(shù)據(jù)集處理配置GPU,這里有兩種方式,參考代碼如下:#1.使用“device”,后續(xù)對(duì)要使用GPU的變量用.to(device)即可
device=torch.device("cuda:1"iftorch.cuda.is_available()else"cpu")#2.使用os.environ
os.environ['CUDA_VISIBLE_DEVICES']='0'實(shí)踐任務(wù)1FashionMNIST數(shù)據(jù)集處理配置超參數(shù),代碼如下:##配置其他超參數(shù),如batch_size,num_workers,learningrate,以及總的epochs
batch_size=256
num_workers=0#對(duì)于Windows用戶,這里應(yīng)設(shè)置為0,否則會(huì)出現(xiàn)多線程錯(cuò)誤
lr=1e-4
epochs=20實(shí)踐任務(wù)1FashionMNIST數(shù)據(jù)集處理設(shè)置數(shù)據(jù)變換,代碼如下:fromtorchvisionimporttransforms
data_transform=transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.5,),(0.5,))
])實(shí)踐任務(wù)1FashionMNIST數(shù)據(jù)集處理讀取數(shù)據(jù)集,代碼如下:##使用torchvision自帶數(shù)據(jù)集,下載可能需要一段時(shí)間
fromtorchvisionimportdatasets
train_data=datasets.FashionMNIST(root='./data',train=True,download=True,transform=data_transform)
test_data=datasets.FashionMNIST(root='./data',train=False,download=True,transform=data_transform)
train_loader=DataLoader(train_data,batch_size=batch_size,shuffle=True,num_workers=num_workers,drop_last=True)
test_loader=DataLoader(test_data,batch_size=batch_size,shuffle=False,num_workers=num_workers)
實(shí)踐任務(wù)1FashionMNIST數(shù)據(jù)集處理測(cè)試價(jià)值的數(shù)據(jù)信息,顯示數(shù)據(jù)集中的數(shù)據(jù),代碼如下importmatplotlib.pyplotasplt
image,label=next(iter(train_loader))
print(image.shape,label.shape)
plt.imshow(image[0][0],cmap="gray")
plt.show()實(shí)踐任務(wù)1FashionMNIST數(shù)據(jù)集處理第五節(jié)
實(shí)踐任務(wù)2卷積神經(jīng)網(wǎng)絡(luò)搭建模型這里我們手搭一個(gè)CNN,而不考慮當(dāng)下各種模型的復(fù)雜結(jié)構(gòu),
模型構(gòu)建完成后,將模型放
到GPU上用于訓(xùn)練。第五節(jié)
實(shí)踐任務(wù)2卷積神經(jīng)網(wǎng)絡(luò)搭建模型classNet(nn.Module):
def__init__(self):
super(Net,self).__init__()
self.conv=nn.Sequential(
nn.Conv2d(1,32,5),
nn.ReLU(),
nn.MaxPool2d(2,stride=2),
nn.Dropout(0.3),
nn.Conv2d(32,64,5),
nn.ReLU(),
nn.MaxPool2d(2,stride=2),
nn.Dropout(0.3)
)
第五節(jié)
實(shí)踐任務(wù)2卷積神經(jīng)網(wǎng)絡(luò)搭建模型classNet(nn.Module):
def__init__(self):
super(Net,self).__init__()
self.conv=nn.Sequential( ...
)
self.fc=nn.Sequential(
nn.Linear(64*4*4,512),
nn.ReLU(),
nn.Linear(512,10)
)第五節(jié)
實(shí)踐任務(wù)2卷積神經(jīng)網(wǎng)絡(luò)搭建模型classNet(nn.Module):
def__init__(self):
super(Net,self).__init__()
...
defforward(self,x):
x=self.conv(x)
x=x.view(-1,64*4*4)
x=self.fc(x)
#x=nn.functional.normalize(x)
returnx第五節(jié)
實(shí)踐任務(wù)2卷積神經(jīng)網(wǎng)絡(luò)搭建模型創(chuàng)建模型,打印模型的信息,代碼如下:model=Net()
model=model.cuda()
print(model)第五節(jié)
實(shí)踐任務(wù)2卷積神經(jīng)網(wǎng)絡(luò)搭建模型運(yùn)行程序,結(jié)果顯示如下:Net((conv):Sequential((0):Conv2d(1,32,kernel_size=(5,5),stride=(1,1))(1):ReLU()(2):MaxPool2d(kernel_size=2,stride=2,padding=0,dilation=1,…)(fc):Sequential((0):Linear(in_features=1024,out_features=512,bias=True)(1):ReLU()(2):Linear(in_features=512,out_features=10,bias=True))第六節(jié)
實(shí)踐任務(wù)3FashionMNIST識(shí)別網(wǎng)絡(luò)訓(xùn)練設(shè)定損失函數(shù),使用torch.nn模塊自帶的CrossEntropy損失,PyTorch會(huì)自動(dòng)把整數(shù)型的label轉(zhuǎn)為one-hot型,用于計(jì)算交叉熵?fù)p失。這里需要確保label是從0開(kāi)始的,同時(shí)模型不加softmax層(使用logits計(jì)算),這也說(shuō)明了PyTorch訓(xùn)練中各個(gè)部分不是獨(dú)立的,需要全盤(pán)考慮。第六節(jié)
實(shí)踐任務(wù)3FashionMNIST識(shí)別網(wǎng)絡(luò)訓(xùn)練創(chuàng)建交叉熵?fù)p失代碼如下:criterion=nn.CrossEntropyLoss()第六節(jié)
實(shí)踐任務(wù)3FashionMNIST識(shí)別網(wǎng)絡(luò)訓(xùn)練設(shè)定優(yōu)化器,這里我們使用Adam優(yōu)化器optimizer=optim.Adam(model.parameters(),lr=0.001)第六節(jié)
實(shí)踐任務(wù)3FashionMNIST識(shí)別網(wǎng)絡(luò)訓(xùn)練編寫(xiě)用于訓(xùn)練的函數(shù),代碼如下deftrain(epoch):model.train()train_loss=0fordata,labelintrain_loader:data,label=data.cuda(),label.cuda()optimizer.zero_grad()output=model(data)loss=criterion(output,label)loss.backward()optimizer.step()train_loss+=loss.item()*data.size(0)第六節(jié)
實(shí)踐任務(wù)3FashionMNIST識(shí)別網(wǎng)絡(luò)訓(xùn)練deftrain(epoch):model.train()train_loss=0fordata,labelintrain_loader: ...train_loss=train_loss/len(train_loader.dataset)print('Epoch:{}\tTrainingLoss:{:.6f}'.format(epoch,train_loss))第六節(jié)
實(shí)踐任務(wù)3FashionMNIST識(shí)別網(wǎng)絡(luò)訓(xùn)練訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的注意點(diǎn):數(shù)據(jù)增強(qiáng)學(xué)習(xí)率的調(diào)整批量歸一化使用預(yù)訓(xùn)練模型梯度裁剪第六節(jié)
實(shí)踐任務(wù)3FashionMNIST識(shí)別網(wǎng)絡(luò)訓(xùn)練訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的技巧:1.正則化2.選擇合適的損失函數(shù)3.提前停止4.參數(shù)初始化5.訓(xùn)練監(jiān)控第七節(jié)
實(shí)踐任務(wù)4FashionMNIST識(shí)別測(cè)試和評(píng)估defval(epoch):model.eval()val_loss=0gt_labels=[]pred_labels=[]withtorch.no_grad():fordata,labelintest_loader:data,label=data.cuda(),label.cuda()output=model(data)
測(cè)試準(zhǔn)確率:第七節(jié)
實(shí)踐任務(wù)4FashionMNIST識(shí)別測(cè)試和評(píng)估defval(epoch): ...preds=torch.argmax(output,1)gt_labels.append(label.cpu().data.numpy())pred_labels.append(preds.cpu().data.numpy())loss=criterion(output,label)val_loss+=loss.item()*data.size(0)第七節(jié)
實(shí)踐任務(wù)4FashionMNIST識(shí)別測(cè)試和評(píng)估defval(epoch): ...
val_loss=val_loss/len(test_loader.dataset)gt_labels,pred_labels=np.concatenate(gt_labels),np.concatenate(pred_labels)acc=np.sum(gt_labels==pred_labels)/len(pred_labels)print('Epoch:{}\tValidationLoss:{:.6f},Accuracy:{:6f}'.format(epoch,val_loss,acc))第七節(jié)
實(shí)踐任務(wù)4FashionMNIST識(shí)別測(cè)試和評(píng)估fromsklearn.metricsimportconfusion_matrix,classification_report,precision_recall_curve,roc_curve,aucdefval(epoch): …
cm=confusion_matrix(gt_labels,pred_labels)cr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度家居建材配送承包服務(wù)協(xié)議
- 2025年度智能設(shè)備租賃合同中發(fā)票開(kāi)具、技術(shù)支持及維護(hù)服務(wù)的約定
- 2025年度校地合作框架協(xié)議-現(xiàn)代服務(wù)業(yè)合作開(kāi)發(fā)合同
- 二零二五年度股東借款給公司長(zhǎng)期投資及收益共享協(xié)議
- 二零二五年度業(yè)主委托物業(yè)公共區(qū)域清潔維護(hù)合同
- 二零二五年度醫(yī)療機(jī)構(gòu)崗位聘用協(xié)議書(shū)(臨床醫(yī)學(xué)專業(yè))
- 2025年度新能源項(xiàng)目墊資合作協(xié)議
- 2025年度無(wú)財(cái)產(chǎn)分割協(xié)議及離婚后共同財(cái)產(chǎn)管理協(xié)議
- 二零二五年度新型商業(yè)綜合體門(mén)面租賃服務(wù)合同
- 2025年度輔導(dǎo)班知識(shí)產(chǎn)權(quán)與品牌使用權(quán)轉(zhuǎn)讓合同
- 2025年海域使用權(quán)租賃合同
- 四年級(jí)希望杯歷年數(shù)學(xué)競(jìng)賽試題與答案1-13屆+奧數(shù)分類(lèi)專項(xiàng)練習(xí)集等
- 《走近世界民間美術(shù)》 課件 2024-2025學(xué)年人美版(2024)初中美術(shù)七年級(jí)下冊(cè)
- (2025春)人教版三年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)教案
- 河南2025年02月鄭州市公安機(jī)關(guān)公開(kāi)招考1200名警務(wù)輔助人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年江蘇省高職單招《職測(cè)》高頻必練考試題庫(kù)400題(含答案)
- 河北單招考試三類(lèi)職業(yè)適應(yīng)性測(cè)試考試題與答案
- 手機(jī)開(kāi)發(fā)流程圖
- 隊(duì)列隊(duì)形比賽評(píng)分標(biāo)準(zhǔn)
- 生產(chǎn)礦井儲(chǔ)量管理規(guī)程
- 實(shí)木家具工藝標(biāo)準(zhǔn)(全流程)
評(píng)論
0/150
提交評(píng)論