團隊項目選擇

項目 內容
課程:北航-2020-春-軟件工程 博客園班級博客
做業要求 團隊項目選擇
咱們在這個課程的目標是 提高團隊管理及合做能力,開發一項滿意的工程項目
這個做業在哪一個具體方面幫助咱們實現目標 肯定工程項目,進行初步設計

項目介紹

選題過程詳見: 選題與大綱html

項目名稱:Visual Pytorch前端

項目介紹:實現一個能夠經過拖拽組建進行編程的在線編程網站。核心功能是經過圖形拖拽的編程方式,來生成神經網絡的PyTorch項目代碼,從而幫助深度學習初學者快速入門。但願能在上一版本的基礎上實現更多的網絡層、支持封裝、代碼的可視化、經典模型的嵌入、模型的部署等附加功能等。python

NABCD分析

NABCD的含義請參考連接: 現代軟件工程課件 需求分析 如何提出靠譜的項目建議 NABCD編程

1. Need:

現在Deep Learning大火,不管是計算機專科出生的學生,仍是有必定數學工程基礎的計算機愛好者,甚至是徹底對編程不熟悉的人都但願能瞭解一些深度學習的基礎知識、背後原理,而且親手搭建一個神經網絡,但剛入門這一領域中着實面臨着一些困難:後端

  • 除了看教材、博客之外,沒有好的入門方法
  • 教材中的概念比較抽象,而且有大量數學推導,不容易看懂
  • 大多例子都是以代碼形式的,不直觀,不熟悉python語言的人難以讀懂
  • 搭建一個模型須要學習的代價大,難以邊作邊學

可見現有的學習途徑對學習者並非很友好。因此咱們想搭建一個在線平臺, 提供給用戶可拖拽的編程方法,經過拖拽圖形鏈接成網絡(或者提供一些經典的網絡結構),自動生成程序,而且教初學者本地部署模型,加載數據並進行訓練。用這種方式能夠幫助沒有接觸過deep learning的人更快、更直觀地理解基本原理,並作一些前期的簡單練習,可以快速入門。服務器

2. Approach:

大體分爲前端和後端兩部分:網絡

  • jsPlumb實現前端的可拖拽網頁,提供Pytorch模型中所須要的各個組件,以及查看代碼、上傳數據、生成模型等功能。
  • Django框架實現後端服務器功能。
  • 基於Pytorch進行開發,在項目中嵌入tensorboard做爲代碼的可視化。

3. Benefit:

詳見:功能設計app

4. Competitors:

目前來看,針對深度學習的圖形化編程網站或軟件尚未,可是存在3個相似的網頁:框架

  1. tensorboard函數

    pytorch自帶的tensorboard能實現模型可視化:在本地使用SummaryWriter可在本地生成pytorch網頁,進行模型的初步可視化。

    然而目前作深度學習的不多有人使用這一方式,緣由多是:①不會用,②生成很麻煩,③可視化效果很差。這也是咱們但願改正的地方,咱們但願在咱們項目中能嵌入tensorboard,讓使用者很是方便地生成模型視圖。

ScreenClip
  1. tensorflow playground

    tensorflow開發的一款線上學習,自動調節參數訓練並可視化的網頁。點擊標題便可訪問

    缺點是①模型簡單,只能使用固定的神經元;②數據單一,普通的二維點分類

  2. NVIDIA AI PLAYGROUND

    tensorflow playgroud相似,網絡端部署了模型而且能夠實如今線圖像生成功能。可是操做者不知道網絡實現的具體細節,不利於學習Pytorch。

  3. 上一屆Visual Pytorch

    【Gamma】發佈說明是學長的最終版發佈說明。從該博客中咱們能夠看到,他們已經實現了比較核心的功能。好比參數的調整,模塊的刪除,代碼優化,引導內容。

    然而不足之處也有不少:模型不支持縮放,以及可視化結構的調整,模型的分享,比較關鍵的激活函數層、BN層、反捲積層,以及損失函數、優化器的選擇,數據預處理部分,經典模型的集成,Tensorboard可視化的集成等。

    在Benefit一項,咱們設計了咱們的項目在他們的基礎上改進的地方。具體設計的部分見功能規格設計。

上面的一些網頁實現了一些功能,甚至仍是頗有趣的功能,可是沒有提供給初學者一個方便學習的接口,學習網絡結構的搭建,並親手實現一個,這樣才能獲得一種成就感。

咱們的項目核心競爭力在於免費和直觀、便於入門,一個方便的工具天然容易讓有需求的人接受,讓以前沒有使用過的用戶開始使用咱們的產品,即便沒有學習deep learning計劃的人,在初次嘗試以後也可能有了學習的熱情。

5. Delivery:

  • 在CSDN論壇、知乎等相似的技術論壇、菜鳥教程等相似的教程網站上推薦咱們的網站。
  • 也能夠在公衆號上出推送,分享咱們的網頁、展現咱們的功能。
  • 能夠和高校的實驗室老師取得聯繫,做爲新加入實驗室的同窗入門的教程軟件。

用戶量評估

  • 在哪裏發佈軟件?估計一週後用戶量多少呢?

    線上網站。
    \(\alpha\)版本:預計發佈之後一週內的模型的使用次數達到300,註冊的用戶量達到100。
    \(\beta\)版本:預計發佈之後一週內的模型的使用次數達到600,註冊的用戶量達到200。
    \(\gamma\)版本:預計發佈之後一週內的模型的使用次數達到1000,註冊的用戶量達到300。

電梯演說

各位領導/合做夥伴:

咱們的visual pytorch網絡的擴展和封裝是爲了解決 但願接觸Deep Learning卻沒有基礎的學習者 的痛苦,他們須要 更直觀、更易懂的方式而不是單純的教材和樣例來入門,可是現有的方案並無很好地解決這些需求,咱們有獨特的辦法jsPlumb+Django來實現前端可拖拽以及先後端連接,它能給用戶帶來好處是能夠更直觀地理解DL中神經網絡訓練的過程,並復現一些經典的網絡,親手實現圖像分類與分割、目標探測、圖像生成,遠遠超過競爭對手tensorboard tensorflow playground NVIDIA AI PLAYGROUND,包括咱們之前的版本。同時,咱們會在CSDN、知乎等技術論壇,或是菜鳥教程等教程網站上宣傳咱們的網站,能很快地讓大部分用戶知道咱們的產品,並進一步傳播。 咱們相信新的改進能給咱們帶來用戶量及使用量的改善 。

相關文章
相關標籤/搜索