點擊上方“Github愛好者社區”,選擇星標
回復“資料”,獲取小編整理的一份資料
來自機器之心
在深度學習時代,谷歌、Facebook、百度等科技巨頭開源了多款框架來幫助開發者更輕松地學習、構建和訓練不同型別的神經網路,而這些大公司也花費了很大的精力來維護 TensorFlow、PyTorch 這樣龐大的深度學習框架,
除了這類主流框架之外,開發者們也會開源一些小而精的框架或者庫,比如今年 4 月份,特斯拉人工智能部門主管 Andrej Karpathy 開源了其撰寫的微型 autograd 引擎 micrograd,該引擎還用 50 行代碼實作了一個類 PyTorch api 的神經網路庫,目前,micrograd 專案的 GitHub star 量達到 1200 星,
不久前,天才黑客 George Hotz(喬治?霍茲)開源了一個小型 Autograd Tensor 庫 tinygrad,它介于 PyTorch 和 micrograd 之間,能夠滿足做深度學習的大部分要求,上線不到一個月,該專案在 GitHub 上已經獲得 1400 星,
專案地址:https://github.com/geohot/tinygrad
根據 GitHub 內容,下文對 tinygrad 的安裝與使用做了簡要介紹,感興趣的同學也可通過 George Hotz 的 YouTube 視頻進行學習,
視頻地址:https://www.youtube.com/channel/UCwgKmJM4ZJQRJ-U5NjvR2dg
tinygrad 的安裝與使用
「tinygrad 可能不是最好的深度學習框架,但它確實是深度學習框架,」
George 在專案中保證,tinygrad 代碼量會永遠小于 1000 行,
安裝
tinygrad 的安裝程序非常簡單,只需使用以下命令:
pip3 install tinygrad --upgrade
示例
安裝好 tinygrad 之后,就可以進行示例運行,代碼如下:
from tinygrad.tensor import Tensorx = Tensor.eye(3)y = Tensor([[2.0,0,-2.0]])z = y.matmul(x).sum()z.backward()print(x.grad) # dz/dxprint(y.grad) # dz/dy
使用 torch 的代碼如下:
import torchx = 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/dxprint(y.grad) # dz/dy
滿足對神經網路的需求
一個不錯的 autograd 張量庫可以滿足你對神經網路 90%的需求,從 tinygrad.optim 添加優化器(SGD、RMSprop、Adam),再撰寫一些 minibatching 樣板代碼,就可以實作你的需求,
示例如下:
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 = 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 通過 PyOpenCL 支持 GPU,但后向傳播暫時無法支持所有 ops,
from tinygrad.tensor import Tensor(Tensor.ones(4,4).cuda() + Tensor.ones(4,4).cuda()).cpu()
ImageNet 推斷
「麻雀雖小,五臟俱全,」tinygrad 還能夠支持 full EfficientNet,輸入一張影像,即可得到其類別,
ipython3 examples/efficientnet.py https://upload.wikimedia.org/wikipedia/commons/4/41/Chicken.jpg"/>測驗
運行以下代碼可執行測驗:
python -m pytest
此外,喬治?霍茲還計劃添加語言模型、檢測模型,進一步減少代碼量、提升速度等,

天才黑客喬治?霍茲

該專案的創建者是著名黑客喬治?霍茲,別號 Geohot,
他于 1989 年出生在美國新澤西州,曾就讀于羅切斯特理工學院生物工程專業和卡內基梅隆大學計算機科學系,
然而,喬治?霍茲在自己的 LinkedIn 主頁上教育經歷描述里是這么寫的:

在羅切斯特理工學院就讀期間,他的社團活動是「在宿舍黑 iPhone」……
這是他著名的黑客經歷之一,2007 年,17 歲的喬治?霍茲成功破解 iPhone 手機,使手機不再局限于 AT&T 網路,而是支持其他 GSM 網路,2009 年,他開發出一款針對 iOS 3.1.2 的越獄軟體 blackra1n,2010 年,喬治?霍茲宣布不再進行越獄軟體的開發,
然而,他的黑客行動并未停止,
2009 年起,喬治?霍茲開始破解 PlayStation 3(PS3),2010 年初,他宣布得到了 PS3 系統記憶體的讀寫權限和處理器的高級控制權,2011 年 3 月,喬治?霍茲被索尼起訴,后和解,
此外,喬治?霍茲還破解過三星手機等產品,
就作業經歷而言,他曾在谷歌、Facebook、SpaceX 作業過,目前,他在自己創立的自動駕駛公司 comma.ai 任職,
2015 年,喬治?霍茲創立了人工智能創業公司 comma.ai,旨在基于機器學習演算法構建自動駕駛技術,喬治?霍茲開發出自動駕駛套件 Comma One,只需 1000 美元,用戶就能將傳統汽車升級成自動駕駛版本,不過,后來這一計劃被取消,
2020 年,在 CES 大會上,comma.ai 展出了其最新產品 —— 輔助駕駛設備 Comma Two,售價 999 美元,
comma.ai 公司還開源了輔助駕駛系統 openpilot,參見:https://github.com/commaai/openpilot,
參考鏈接:https://zh.wikipedia.org/wiki/% E4% B9%94% E6% B2% BB% C2% B7% E9%9C%8D% E5%85% B9
https://en.m.wikipedia.org/wiki/George_Hotz
好啦,今天的分享就到這兒啦,我們下次見啦~
GitHub原創推薦? 這個微信插件神器開源,怒沖GitHub排名榜第一,網友:太好用了!? 微軟開源又一力作發布!刷屏GitHub!炸了,,? GitHub標星1.4k+,IDEA 中相見恨晚的技巧,讓你的編程效率飛起來!? 還在買愛奇藝,騰訊會員?GitHub這個神器標星12.2K,強勢開源,支持多個視頻網站片源下載 !!關注「Github愛好者社區」加星標,每天帶你逛Github好玩的專案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234329.html
標籤:其他
