maxnet學習

參考書《動手寫深度學習》python

分佈式並行訓練算法。git

NDArray和NumPy相互變換

1.將numpy轉化爲NDArray。github

import numpy as np
A=np.ones((2,3))
B=nd.array(A)

2.將NDArray轉化爲numpyweb

C.asnumpy(B)

 

自動求梯度步驟:算法

1,建立變量x,2,,申請存儲梯度的內存;3,調用backward函數求梯度。網絡

 

查找模塊裏全部可調用函數和類dom

使用dir函數。分佈式

例如:函數

from mxnet import nd
print(dir(nd.random))

 

sequential()爲串聯各個層的容器,在構建神經網絡時,在該容器中依次添加層。學習

在構建神經網絡時,先導入模塊,構建容器實例,在容器中添加層。

from mxnet.gluon import nn
net=Sequential()
net.add(nn.Dense(1))
net.initialize(init.Normal(sigma=0.01)) #初始化模型
loss=gloss.L2Loss() #平方差

 

利用CIFAR10數據集上預訓練模型作目標識別:

1.顯示圖像

#導入包
import matplotlib.pyplot as plt
from mxnet import gluon, nd, image
from mxnet.gluon.data.vision import transforms
from gluoncv import utils
from gluoncv.model_zoo import get_model
#加載圖片
url = 'https://raw.githubusercontent.com/dmlc/web-data/master/gluoncv/classification/plane-draw.jpeg'
im_fname = utils.download(url)

img = image.imread(im_fname)

plt.imshow(img.asnumpy())
plt.show()

運行上訴腳本,將從url網址下載圖像到當前路徑並顯示。

 

訓練,在終端輸入以下指令

python train_cifar10.py --num-epochs 240 --mode hybrid  -j 8 --batch-size 128            --wd 0.0001 --lr 0.1 --lr-decay 0.1 --lr-decay-epoch 80,160 --model cifar_resnet20_v1

 

MINC-2500數據集,包含23類共2500張圖片。

 

使用gluoncv實現yolov3

代碼以下

from gluoncv import model_zoo,data,utils
from matplotlib import pyplot as plt
#導入必要的包
net=model_zoo.get_model("yolo3_darknet53_voc",pretrained=True)
img_fname="/home/wmy/mxnet/dog.jpg"
x,img=data.transforms.presets.yolo.load_test(img_fname,short=512)
#獲取模型預測結果
class_ids,class_scores,bounding_boxes=net(x)
#繪製結果並顯示
ax=utils.viz.plot_bbox(img,bounding_boxes[0],class_scores[0],class_ids[0],class_names=net.classes)
plt.show()
相關文章
相關標籤/搜索