<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          不到1000行代碼,GitHub 1400星,天才黑客開(kāi)源深度學(xué)習(xí)框架tinygrad

          共 3679字,需瀏覽 8分鐘

           ·

          2020-12-02 12:17

          ↑ 點(diǎn)擊藍(lán)字?關(guān)注極市平臺(tái)

          作者丨機(jī)器之心
          編輯丨極市平臺(tái)

          極市導(dǎo)讀

          ?

          最近,天才黑客 George Hotz 開(kāi)源了一個(gè)小型深度學(xué)習(xí)框架 tinygrad,兼具 PyTorch 和 micrograd 的功能。tinygrad 的代碼數(shù)量不到 1000 行,目前該項(xiàng)目獲得了 GitHub 1400 星。?>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺(jué)的最前沿

          在深度學(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 星。

          項(xiàng)目地址:github.com/geohot/tinyg
          根據(jù) GitHub 內(nèi)容,下文對(duì) tinygrad 的安裝與使用做了簡(jiǎn)要介紹。感興趣的同學(xué)也可通過(guò) George Hotz 的 YouTube 視頻進(jìn)行學(xué)習(xí)。
          視頻地址:youtube.com/channel/UCw

          tinygrad 的安裝與使用
          「tinygrad 可能不是最好的深度學(xué)習(xí)框架,但它確實(shí)是深度學(xué)習(xí)框架?!?/span>
          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).sum()
          z.backward()
          print(x.grad) # dz/dx
          print(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).sum()
          z.backward()
          print(x.grad) # dz/dx
          print(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 Tensor
          import tinygrad.optim as optim
          from 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 = TinyBobNet()
          optim = 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).mean()
          loss.backward()
          optim.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 推斷
          「麻雀雖小,五臟俱全。」tinygrad 還能夠支持 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)一步減少代碼量、提升速度等。



          天才黑客喬治 · 霍茲

          該項(xiàng)目的創(chuàng)建者是著名黑客喬治 · 霍茲,別號(hào) Geohot。

          他于 1989 年出生在美國(guó)新澤西州,曾就讀于羅切斯特理工學(xué)院生物工程專(zhuān)業(yè)和卡內(nèi)基梅隆大學(xué)計(jì)算機(jī)科學(xué)系。

          然而,喬治 · 霍茲在自己的 LinkedIn 主頁(yè)上教育經(jīng)歷描述里是這么寫(xiě)的:
          在羅切斯特理工學(xué)院就讀期間,他的社團(tuán)活動(dòng)是「在宿舍黑 iPhone」……

          這是他著名的黑客經(jīng)歷之一。2007 年,17 歲的喬治 · 霍茲成功破解 iPhone 手機(jī),使手機(jī)不再局限于 AT&T 網(wǎng)絡(luò),而是支持其他 GSM 網(wǎng)絡(luò)。2009 年,他開(kāi)發(fā)出一款針對(duì) iOS 3.1.2 的越獄軟件 blackra1n。2010 年,喬治 · 霍茲宣布不再進(jìn)行越獄軟件的開(kāi)發(fā)。

          然而,他的黑客行動(dòng)并未停止。

          2009 年起,喬治 · 霍茲開(kāi)始破解 PlayStation 3(PS3)。2010 年初,他宣布得到了 PS3 系統(tǒng)內(nèi)存的讀寫(xiě)權(quán)限和處理器的高級(jí)控制權(quán)。2011 年 3 月,喬治 · 霍茲被索尼起訴,后和解。

          此外,喬治 · 霍茲還破解過(guò)三星手機(jī)等產(chǎn)品。

          就工作經(jīng)歷而言,他曾在谷歌、Facebook、SpaceX 工作過(guò)。目前,他在自己創(chuàng)立的自動(dòng)駕駛公司 comma.ai 任職。

          2015 年,喬治 · 霍茲創(chuàng)立了人工智能創(chuàng)業(yè)公司 comma.ai,旨在基于機(jī)器學(xué)習(xí)算法構(gòu)建自動(dòng)駕駛技術(shù)。喬治 · 霍茲開(kāi)發(fā)出自動(dòng)駕駛套件 Comma One,只需 1000 美元,用戶(hù)就能將傳統(tǒng)汽車(chē)升級(jí)成自動(dòng)駕駛版本。不過(guò),后來(lái)這一計(jì)劃被取消。

          2020 年,在 CES 大會(huì)上,comma.ai 展出了其最新產(chǎn)品——輔助駕駛設(shè)備 Comma Two,售價(jià) 999 美元。

          comma.ai 公司還開(kāi)源了輔助駕駛系統(tǒng) openpilot,參見(jiàn):github.com/commaai/open。

          參考鏈接:
          zh.wikipedia.org/wiki/%
          en.m.wikipedia.org/wiki


          推薦閱讀



          添加極市小助手微信(ID : cvmart2),備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測(cè)-深圳),即可申請(qǐng)加入極市目標(biāo)檢測(cè)/圖像分割/工業(yè)檢測(cè)/人臉/醫(yī)學(xué)影像/3D/SLAM/自動(dòng)駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群:每月大咖直播分享、真實(shí)項(xiàng)目需求對(duì)接、求職內(nèi)推、算法競(jìng)賽、干貨資訊匯總、與?10000+來(lái)自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺(jué)開(kāi)發(fā)者互動(dòng)交流~

          △長(zhǎng)按添加極市小助手

          △長(zhǎng)按關(guān)注極市平臺(tái),獲取最新CV干貨

          覺(jué)得有用麻煩給個(gè)在看啦~??
          瀏覽 56
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码人妻久久一区二区三区蜜桃 | 三级黄毛片 | 国产精品九九99久久精品 | 国产婷婷欧美 | 亚洲国产精品久久久久久久 |