欧美久久久久久_五月天久草_韩国三级中文字幕hd有奶水_2020av视频_成人一区二区在线_亚洲手机在线观看

小型深度學(xué)習(xí)框架 – TinyGrad,不到1K行代碼(附代碼下載)

歡迎關(guān)注“

計(jì)算機(jī)視覺(jué)研究院

小型深度學(xué)習(xí)框架 - TinyGrad,不到1K行代碼(附代碼下載)

計(jì)算機(jī)視覺(jué)研究院專(zhuān)欄

作者:計(jì)算機(jī)視覺(jué)研究院

最近,天才黑客 George Hotz 開(kāi)源了一個(gè)小型深度學(xué)習(xí)框架 tinygrad,兼具 PyTorch 和 micrograd 的功能。tinygrad 的代碼數(shù)量不到 1000 行,目前該項(xiàng)目獲得了 GitHub 1400 星。

小型深度學(xué)習(xí)框架 - TinyGrad,不到1K行代碼(附代碼下載)

在深度學(xué)習(xí)時(shí)代,谷歌Facebook、百度等科技巨頭開(kāi)源了多款框架來(lái)幫助開(kāi)發(fā)者更輕松地學(xué)習(xí)、構(gòu)建和訓(xùn)練不同類(lèi)型的神經(jīng)網(wǎng)絡(luò)。而這些大公司也花費(fèi)了很大的精力來(lái)維護(hù) TensorFlow、PyTorch 這樣龐大的深度學(xué)習(xí)框架。除了這類(lèi)主流框架之外,開(kāi)發(fā)者們也會(huì)開(kāi)源一些小而精的框架或者庫(kù)。比如今年 4 月份,特斯拉人工智能部門(mén)主管 Andrej Karpathy 開(kāi)源了其編寫(xiě)的微型 autograd 引擎 micrograd,該引擎還用 50 行代碼實(shí)現(xiàn)了一個(gè)類(lèi) PyTorch api 的神經(jīng)網(wǎng)絡(luò)庫(kù)。目前,micrograd 項(xiàng)目的 GitHub star 量達(dá)到 1200 星。不久前,天才黑客 George Hotz(喬治 · 霍茲)開(kāi)源了一個(gè)小型 Autograd Tensor 庫(kù) tinygrad,它介于 PyTorch 和 micrograd 之間,能夠滿足做深度學(xué)習(xí)的大部分要求。上線不到一個(gè)月,該項(xiàng)目在 GitHub 上已經(jīng)獲得 1400 星。

根據(jù) GitHub 內(nèi)容,下文對(duì) tinygrad 的安裝與使用做了簡(jiǎn)要介紹。感興趣的同學(xué)也可通過(guò) George Hotz 的 YouTube 視頻進(jìn)行學(xué)習(xí)。

小型深度學(xué)習(xí)框架 - TinyGrad,不到1K行代碼(附代碼下載)

視頻地址:https://www.youtube.com/channel/UCwgKmJM4ZJQRJ-U5NjvR2dg

tinygrad 的安裝與使用

「tinygrad 可能不是最好的深度學(xué)習(xí)框架,但它確實(shí)是深度學(xué)習(xí)框架?!?/p>

George 在項(xiàng)目中保證,tinygrad 代碼量會(huì)永遠(yuǎn)小于 1000 行。

安裝

tinygrad 的安裝過(guò)程非常簡(jiǎn)單,只需使用以下命令:

pip3 install tinygrad --upgrade

示例

安裝好 tinygrad 之后,就可以進(jìn)行示例運(yùn)行,代碼如下:

from tinygrad.tensor import Tensor
x = Tensor.eye(3)y = Tensor([[2.0,0,-2.0]])z = y.matmul(x).sumz.backward
print(x.grad) # dz/dxprint(y.grad) # dz/dy

使用 torch 的代碼如下:

import torch
x = torch.eye(3, requires_grad=True)y = torch.tensor([[2.0,0,-2.0]], requires_grad=True)z = y.matmul(x).sumz.backward
print(x.grad) # dz/dxprint(y.grad) # dz/dy

滿足對(duì)神經(jīng)網(wǎng)絡(luò)的需求

一個(gè)不錯(cuò)的autograd張量庫(kù)可以滿足你對(duì)神經(jīng)網(wǎng)絡(luò) 90%的需求。從 tinygrad.optim 添加優(yōu)化器(SGD、RMSprop、Adam),再編寫(xiě)一些 minibatching 樣板代碼,就可以實(shí)現(xiàn)你的需求。

示例如下:

from tinygrad.tensor import Tensorimport tinygrad.optim as optimfrom tinygrad.utils import layer_init_uniform
class TinyBobNet: def __init__(self): self.l1 = Tensor(layer_init_uniform(784, 128)) self.l2 = Tensor(layer_init_uniform(128, 10))
def forward(self, x): return x.dot(self.l1).relu.dot(self.l2).logsoftmax
model = TinyBobNetoptim = optim.SGD([model.l1, model.l2], lr=0.001)
# ... and complete like pytorch, with (x,y) data
out = model.forward(x)loss = out.mul(y).meanloss.backwardoptim.step

支持 GPU

tinygrad 通過(guò) PyOpenCL 支持 GPU。但后向傳播暫時(shí)無(wú)法支持所有 ops。

from tinygrad.tensor import Tensor(Tensor.ones(4,4).cuda Tensor.ones(4,4).cuda).cpu

ImageNet inference

「麻雀雖小,五臟俱全?!箃inygrad 還能夠支持 full EfficientNet,輸入一張圖像,即可得到其類(lèi)別。

ipython3 examples/efficientnet.py https://upload.wikimedia.org/wikipedia/commons/4/41/Chicken.jpg

如果你安裝了 webcam 和 cv2,則可以使用以下代碼:

ipython3 examples/efficientnet.py webcam

注意:如果你想加速運(yùn)行,設(shè)置 GPU=1。

測(cè)試

運(yùn)行以下代碼可執(zhí)行測(cè)試:

python -m pytest

此外,喬治 · 霍茲還計(jì)劃添加語(yǔ)言模型、檢測(cè)模型,進(jìn)一步減少代碼量、提升速度等。

TODO

  • Train an EfficientNet on ImageNet

    • Make broadcasting work on the backward pass (simple please)

    • EfficientNet backward pass

    • Tensors on GPU (a few more backward)

  • Add a language model. BERT?

  • Add a detection model. EfficientDet?

  • Reduce code

  • Increase speed

  • Add features

/End.

如果想加入我們“計(jì)算機(jī)視覺(jué)研究院”,請(qǐng)掃二維碼加入我們。我們會(huì)按照你的需求將你拉入對(duì)應(yīng)的學(xué)習(xí)群!

計(jì)算機(jī)視覺(jué)研究院主要涉及深度學(xué)習(xí)領(lǐng)域,主要致力于人臉檢測(cè)、人臉識(shí)別,多目標(biāo)檢測(cè)、目標(biāo)跟蹤、圖像分割等研究方向。研究院接下來(lái)會(huì)不斷分享最新的論文算法新框架,我們這次改革不同點(diǎn)就是,我們要著重”研究“。之后我們會(huì)針對(duì)相應(yīng)領(lǐng)域分享實(shí)踐過(guò)程,讓大家真正體會(huì)擺脫理論的真實(shí)場(chǎng)景,培養(yǎng)愛(ài)動(dòng)手編程愛(ài)動(dòng)腦思考的習(xí)慣!

后臺(tái)回復(fù)“TinyGrad”

小型深度學(xué)習(xí)框架 - TinyGrad,不到1K行代碼(附代碼下載)

計(jì)算機(jī)視覺(jué)研究院

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部
主站蜘蛛池模板: 国产亚洲精品久久久久动 | 国产精品久久久久久久久久三级 | 成人欧美 | 精品日韩一区二区三区av动图 | 在线观看免费av片 | 成人免费视频在线观看 | www.蜜桃av.com | 久久久涩 | 国产成人精品久久二区二区91 | 亚洲高清视频在线观看 | 欧美一区二区三区国产精品 | 在线亚洲一区 | 中文字幕 欧美 日韩 | 成人精品一区二区三区中文字幕 | 亚洲狠狠爱 | 免费超碰 | 欧美日韩久久精品 | 精品久久久一区 | 国产精品1区2区3区 国产在线观看一区 | 久精品久久 | 婷婷福利| 日韩精品在线观看一区二区三区 | 久久久久久久久国产精品 | 日韩精品免费在线观看 | 午夜精品久久 | 亚洲国产欧美一区二区三区久久 | 黑人巨大精品欧美一区二区免费 | 四虎影音 | 久久av一区二区三区 | 国产一区二区在线视频 | 亚洲国产成人av好男人在线观看 | 99久久久无码国产精品 | 日本手机在线 | 天天色av | 草草草草视频 | 免费国产黄网站在线观看视频 | 久久久精品影院 | 日韩影院在线观看 | 国产精品久久久久久久久久免费 | 亚洲欧洲日韩 | 久久精品青青大伊人av |