天才黑客George Hotz開源了一個小型深度學習框架tinygrad

2020-12-18 電子發燒友

天才黑客George Hotz開源了一個小型深度學習框架tinygrad

人工智慧與大數據 發表於 2020-12-16 09:36:56

最近,天才黑客 George Hotz 開源了一個小型深度學習框架 tinygrad,兼具 PyTorch 和 micrograd 的功能。tinygrad 的代碼數量不到 1000 行,目前該項目獲得了 GitHub 1400 星。

在深度學習時代,谷歌、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 的安裝過程非常簡單,只需使用以下命令:  

示例  安裝好 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 樣板代碼,就可以實現你的需求。   示例如下:

支持 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 

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

ipython3 examples/efficientnet.py webcam 

       注意:如果你想加速運行,設置 GPU=1。  測試  運行以下代碼可執行測試: 

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

 

責任編輯:xj

原文標題:不到1000行代碼,GitHub 1400星,天才黑客開源深度學習框架tinygrad

文章出處:【微信公眾號:人工智慧與大數據技術】歡迎添加關注!文章轉載請註明出處。

 

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 不到1000行代碼,GitHub 1400星,天才黑客開源深度學習框架tinygrad
    機器之心報導機器之心編輯部最近,天才黑客 George Hotz 開源了一個小型深度學習框架 tinygrad,兼具 PyTorch 和 micrograd 的功能。
  • 11月份GitHub上最熱門的Python開源項目
    1. tinygradhttps://github.com/geohot/tinygradStar 3244tinygrad是一個小型深度學習框架tinygrad,兼具PyTorch和micrograd的功能。
  • 深度學習——你需要了解的八大開源框架
    深度學習八大開源框架導讀:深度學習(Deep Learning)是機器學習中一種基於對數據進行表徵學習的方法,深度學習的好處是用非監督式或半監督式的特徵學習、分層特徵提取高效算法來替代手工獲取特徵作為當下最熱門的話題,Google、Facebook、Microsoft等巨頭都圍繞深度學習重點投資了一系列新興項目,他們也一直在支持一些開源深度學習框架。
  • 微軟打造深度學習開源框架「自動翻譯機」:不同框架輕鬆切換
    【新智元導讀】微軟Cortana智能和機器學習小組的數據科學家最新在Giuhub開源項目,對各個深度學習框架進行了基準測試,提供了很多有參考價值的數據以及GPU優化代碼。眾多的深度學習框架,就像世界上各種不同的語言一樣,但是,不會「外語」並不可怕,他們希望構建一個深度學習框架的羅塞塔石碑,讓開發人員和研究者能在這個眾多框架並存的環境中,好好生存。
  • 專訪George Hotz:將自動駕駛軟體免費開源背後的黑客在思考什麼?
    而3個月前,這名年僅27歲的黑客再一次挑戰了自己。他開源了其創立的Comma.ai開發的自動駕駛軟體,Hotz認為他們的軟體與同類產品相比具有極強的優勢(特斯拉除外),並且由此搭建一個自動駕駛套裝的成本僅為700美元。起初Hotz打算將這個軟體作為一個汽車售後服務賣出去,但NHTSA (國家公路安全局)卻加強了監管,導致產品沒有賣出。
  • 曠視開源深度學習框架天元!動靜合一,訓推一體,落地邊緣設備
    現在,這套深度學習框架終於開源啦!這也是本月繼清華Jittor之後,又一個開源的國產深度學習框架。作為曠視絕對招牌之一,MegEngine是什麼,有何特點?天元MegEngine深度學習框架官方網站:https://megengine.org.cn/簡單回想一下人工智慧發展初期,想要訓練出一個AI模型,至少需要一兩個月,而且開發者要通過手敲代碼完成計算過程,深度學習社區基本上被TensorFlow和PyTorch壟斷。
  • 阿里雲開源面向NLP場景深度遷移學習框架EasyTransfer
    近日,阿里雲正式開源了深度遷移學習框架EasyTransfer,這是業界首個面向NLP場景的深度遷移學習框架。
  • PyTorch版《動手學深度學習》開源了,最美DL書遇上最贊DL框架
    機器之心報導項目作者:ShusenTang參與:思想要入門最前沿的深度學習,想要玩最常見的深度學習框架?那就用 PyTorch 版的《動手學深度學習》吧,零基礎也能入門 DL。李沐等人的開源中文書《動手學深度學習》現在有 PyTorch 版實現了。不論是原書中的示例代碼,還是實戰項目,原來的 MXNet 都可以無縫轉化到 PyTorch 代碼。
  • 谷歌開源SEED RL強化學習框架,訓練成本降低多達80%
    智東西3月24日消息,美國當地時間3月23日,谷歌開源了一個名為SEED RL的強化學習(RL)框架,能夠將人工智慧(AI)模型訓練擴展到數千臺機器,有助於在一臺機器上以每秒數百萬幀的速度進行訓練,並將訓練成本降低多達
  • 一行代碼切換TensorFlow與PyTorch,模型訓練也能用倆框架
    這個項目就是你需要的,你可以在訓練中同時使用兩個框架,並端到端地轉換模型。也就是說 TensorFlow 寫的計算圖可以作為某個函數,直接應用到 Torch 的張量上,這操作也是很厲害了。在早兩天開源的 TfPyTh 中,不論是 TensorFlow 還是 PyTorch 計算圖,它們都可以包裝成一個可微函數,並在另一個框架中高效完成前向與反向傳播。
  • 從MindSpore框架,看AI框架與數據開源生態
    通過WAIC開發者·2020上海臨港人工智慧開發者大會,讓我們走近MindSpore,了解AI框架與數據開源生態。2020年,國產深度學習框架似乎迎來了開源史上的高光時刻。既然提到國產框架,就一定會有華為MindSpore的身影。
  • 迎來PyTorch,告別 Theano,2017 深度學習框架發展大盤點
    深度學習是機器學習中一種基於對數據進行表徵學習的方法,作為當下最熱門的話題,谷歌、Facebook、微軟等巨頭紛紛圍繞深度學習做了一系列研究,一直在支持開源深度學習框架的建設。過去一年間,在這些巨頭的加持下,深度學習框架格局發生了極大改變:新框架橫空出世,舊的框架也逐漸退出歷史舞臺,而框架與框架之間的聯繫也更加緊密,生態更為開放。
  • 飛槳深度學習開源框架2.0搶先看:成熟完備的動態圖開發模式
    允中 發自 凹非寺量子位 編輯 | 公眾號 QbitAI百度飛槳於近期宣布,深度學習開源框架2.0搶先版本正式發布,進入2.0時代。其中一項重大升級,就是推出更加成熟完備的命令式編程模式,即通常說的動態圖模式。
  • 深度學習框架哪家強?國產框架OneFlow做了一份測評報告
    機器之心報導 機器之心編輯部 近日,國產深度學習框架 OneFlow 發布了人工智慧方向深度學習領域的 DLPerf 測評報告。
  • 技術分享|輕鬆進行深度學習的11種Python庫和框架
    數據觀世界深度學習是目前人工智慧領域的核心技術之一,為了更方便地開發基於深度學習的方法以及推進深度學習技術的進步,多個世界頂級的技術團隊為深度學習開發了框架,其中大部分都是開源的並且提供了針對Python語言的開發包,無論是對於Python還是深度學習這都是一件極好的事情,我們總結了11種開源框架的Python包,在這裡給大家做一下簡單地介紹。
  • 重磅| Torch7團隊開源PyTorch:Python優先的深度學習框架
    選自PyTorch.org機器之心編譯參與:吳攀、李澤南、李亞洲Torch7 團隊開源了 PyTorch。據官網介紹,PyTorch 是一個 Python 優先的深度學習框架,能夠在強大的 GPU 加速基礎上實現張量和動態神經網絡。
  • 深度學習框架Theano 宣布完成歷史使命,即將退役
    雷鋒網AI科技評論按:作為七大深度學習框架之一的Theano在今天宣布即將不再更新,這也就意味著它將退出深度學習框架的競爭行列。在今天凌晨一點左右,Yoshua Bengio教授的一封郵件被貼了出來:Yoshua Bengio教授是深度學習領域大神之一。
  • Github 項目推薦 | 微軟開源 MMdnn,模型可在多深度學習框架間轉換
    微軟開源了 MMdnn,這是一套能讓用戶在不同深度學習框架間做相互操作的工具。雷鋒網(公眾號:雷鋒網) AI 研習社將微軟 Github 官網介紹編譯如下,供開發者參考: Github 地址:https://github.com/Microsoft/MMdnnMMdnn 中的「MM」代表模型管理,「dnn」的意思是深度神經網絡。
  • 11種深度學習框架影響力對比
    編者按:Jeff Hale根據網上招聘、調研報告、網絡搜索、論文、教程、GitHub等數據,評估了11種深度學習框架的影響力。 現在數據科學領域最熱門的方向仍舊是深度學習。相應地,深度學習框架也處於飛速變革之中。現在最流行的框架,除Theano外,5年前都不存在。