国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[原]打造數(shù)據(jù)產(chǎn)品的快速原型:Django的Docker之旅

zhangqh / 950人閱讀

摘要:而大多數(shù)數(shù)據(jù)科學(xué)研究的場景下,更快的速度也意味著更早地發(fā)現(xiàn)問題和完成檢驗(yàn)假設(shè)的閉環(huán)。通常,數(shù)據(jù)科學(xué)被認(rèn)為研究成果立即應(yīng)用到生產(chǎn)環(huán)境都是比較緩慢的一個(gè)過程。

概述

在數(shù)據(jù)科學(xué)研究中,快速驗(yàn)證想法是非常關(guān)鍵的一環(huán),而如何快速開發(fā)出數(shù)據(jù)產(chǎn)品則可以有效推動(dòng)整個(gè)數(shù)據(jù)科學(xué)項(xiàng)目研究成果在生產(chǎn)環(huán)境中的應(yīng)用速度。

而大多數(shù)數(shù)據(jù)科學(xué)研究的場景下,更快的速度也意味著更早地發(fā)現(xiàn)問題和完成檢驗(yàn)假設(shè)的閉環(huán)。

本文將介紹如何通過Docker+Django技術(shù)打造數(shù)據(jù)產(chǎn)品的快速原型,并通過實(shí)戰(zhàn)案例進(jìn)行演示。

為什么使用Django

最初起源于美國芝加哥Python用戶組的Django框架,使得Python的使用者不必寫大量的css、js就可以快速數(shù)據(jù)管理系統(tǒng)的開發(fā),且Django集成了模板系統(tǒng)、ORM、數(shù)據(jù)遷移版本控制、模糊搜索、過濾器、用戶鑒權(quán)等特性,同時(shí)Django提供了松耦合的設(shè)計(jì),并且內(nèi)置了國際化支持和后臺管理界面等實(shí)用功能。Django 使得非傳統(tǒng)程序員的數(shù)據(jù)科學(xué)家不必依賴于前端、后端工程師就可以自己依照業(yè)務(wù)完成一些簡單的數(shù)據(jù)管理工作,快速驗(yàn)證想法的可靠性。

給樣本打標(biāo)簽是機(jī)器學(xué)習(xí)中非常常見的一項(xiàng)工作,通過Django打造數(shù)據(jù)產(chǎn)品的快速原型,可以極大方便我們給樣本打標(biāo)簽的過程,為機(jī)器學(xué)習(xí)的冷啟動(dòng)爭取到更多時(shí)間。

為什么使用Docker

參考前文 容器定義應(yīng)用:數(shù)據(jù)科學(xué)的容器革命,隨著容器化技術(shù)的興起,數(shù)據(jù)科學(xué)現(xiàn)在最大的一場運(yùn)動(dòng)已經(jīng)不是由一個(gè)新的算法或者統(tǒng)計(jì)方法發(fā)起的了,而是來自Docker的容器化技術(shù)。通常,數(shù)據(jù)科學(xué)被認(rèn)為研究成果立即應(yīng)用到生產(chǎn)環(huán)境都是比較緩慢的一個(gè)過程。利用容器技術(shù)將加速數(shù)據(jù)科學(xué)在生產(chǎn)環(huán)境中的實(shí)際應(yīng)用。

由于Docker的標(biāo)準(zhǔn)交付特性使得 Django 應(yīng)用在運(yùn)維、部署、交付時(shí)都是標(biāo)準(zhǔn)化的,這就使得研究成果可以快速標(biāo)準(zhǔn)化地分享,通過docker-compose我們還可以很容易地管理單機(jī)容器集群的編排。

此外,通常,數(shù)據(jù)科學(xué)團(tuán)隊(duì)都是一個(gè)5人以內(nèi)的小團(tuán)隊(duì),從研發(fā)序列到生產(chǎn)運(yùn)維的一條龍輸出使得團(tuán)隊(duì)成員在技能樹異構(gòu)的情況下必須盡量掌握全棧能力,因?yàn)榧寄軜浠蛘邔I(yè)背景的異構(gòu)將使得整體分析視野更加開闊,類似于多個(gè)弱分類器的模型融合對分類器整體會(huì)有提升作用。

數(shù)據(jù)科學(xué)的小團(tuán)隊(duì)可以理解為一個(gè)小型的分布式系統(tǒng),由一個(gè) Team Leader 作為 Master,其余成員作為 Worker,為了保證容錯(cuò)性,在Master或者Worker的其中一個(gè)節(jié)點(diǎn)掛掉時(shí),其他節(jié)點(diǎn)必須具備替代其他節(jié)點(diǎn)成為Master的能力。

準(zhǔn)備

根據(jù)DockerCon2016的最新消息,我們已經(jīng)可以在Mac、Windows、Linux同時(shí)部署原生的docker容器,而不需要再借助于虛擬機(jī)。

所以,本次案例將采用 Mac 作為實(shí)驗(yàn)環(huán)境,并采用最新的 docker native。

實(shí)戰(zhàn) 步驟一:安裝Docker

下載軟件

打開安裝包后根據(jù)提示完成安裝即可。

步驟二:部署Django

考慮到國內(nèi)的實(shí)際情況,這里采用了時(shí)速云提供帶有國內(nèi)apt-get源的Ubuntu鏡像作為基礎(chǔ)鏡像,在此基礎(chǔ)上更新pip源后進(jìn)行后續(xù)開發(fā),這樣就保證了整個(gè)軟件更新時(shí)的速度不會(huì)受到限制。
安裝ubuntu OS

docker pull index.tenxcloud.com/tenxcloud/docker-ubuntu

生成容器

docker run -d -p 8000:8000 -v /home:/home --name django index.tenxcloud.com/tenxcloud/docker-ubuntu

進(jìn)入容器

docker exec -it django bash

安裝pip

sudo apt-get install python-pip 
mkdir ~/.pip
echo "[global]

timeout = 60

index-url = http://pypi.douban.com/simple
" > ~/.pip.conf

安裝 django

pip install django
步驟三:初始化項(xiàng)目和應(yīng)用

創(chuàng)建項(xiàng)目工作目錄

django-admin startproject FinanceR

初始化應(yīng)用

django-admin startapp RiskManagement
步驟四:初始化數(shù)據(jù)模型

修改數(shù)據(jù)模型

vi RiskManagement/models.py
# -*- coding: UTF-8 -*-

from django.db import models
import uuid

SIZES = (
("0","大盤股" ),
("1","中小盤股" ),
)

MARKETS = (
("0","滬深"),
("1","港股"),
("2","美股"),
("3","其他"),
)

LABELS = (
("0","未知"),
("1","看空"),
("2","看多"),
)

STATUS = (
("0","盈利"),
("1","虧損"),
("2","持平"),
("3","停牌"),
("4","關(guān)閉"),
)

class portfolio(models.Model):
    portfolio_id =  models.UUIDField(verbose_name="組合ID",primary_key=True, default=uuid.uuid4, editable=False)
    name = models.CharField(max_length = 255,verbose_name="組合名稱")
    introduction = models.CharField(max_length = 255,verbose_name="組合介紹")
    label = models.IntegerField(blank=False,verbose_name="組合標(biāo)簽",choices=LABELS)
    status = models.IntegerField(blank=False,verbose_name="組合狀態(tài)",choices=STATUS)
    size = models.IntegerField(verbose_name="組合大小盤",choices=SIZES)
    market = models.IntegerField(verbose_name="組合所在市場",choices=MARKETS)
    create_time = models.DateTimeField(verbose_name="組合創(chuàng)建時(shí)間",auto_now_add= True)
    portfolio_return = models.DecimalField(verbose_name="組合收益", max_digits=19, decimal_places=10)
步驟五:初始化管理模型

接著定義一下后臺顯示的形式

vi RiskManagement/admin.py
# -*- coding: UTF-8 -*-
from django.contrib import admin
from .models import portfolio

@admin.register(portfolio)
class portfolioAdmin(portfolio,admin.ModelAdmin):
    model = portfolio

    list_display = ["name","introduction","label","market","size","portfolio_return","create_time"]
    list_display_links = ["name"]
    search_fields = ["id","portfolio_id"]
    list_filter = ["label","size","market"]
    ordering = ["create_time"]

    # 全站默認(rèn)去處 刪除選項(xiàng)
    admin.site.disable_action("delete_selected")
    
    fieldsets = [
        ("基礎(chǔ)信息",{"fields": ["portfolio_name","introduction",]}),
        ("其他信息", {"fields": ["market","size","status"], "classes": ["collapse"]}),
    ]
步驟六:初始化數(shù)據(jù)庫
python manage.py makemigrations auth
python manage.py migrate auth
python manage.py makemigrations RiskManagement
python manage.py migrate RiskManagement
步驟七:創(chuàng)建系統(tǒng)管理員
python manage.py createsuperuser
步驟八:注冊應(yīng)用
vi settings.py

在配置文件中相應(yīng)的位置注冊剛才完成的應(yīng)用

INSTALLED_APPS = (
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "RiskManagement",
)
步驟九:啟動(dòng)服務(wù)器
python manage.py runserver 0.0.0.0:8000

在瀏覽器中輸入 localhost:8000/admin 就可以進(jìn)入到你想要的數(shù)據(jù)管理系統(tǒng)啦

參考資料

打造數(shù)據(jù)產(chǎn)品的快速原型:Shiny的Docker之旅

Web Service Efficiency at Instagram with Python

Django Packages

10 Polular Sites Made With Django

Django Packages

django redactor 絕對現(xiàn)代化的編輯器 支持拖拽傳圖

更優(yōu)閱讀體驗(yàn)可直接訪問原文地址:https://segmentfault.com/a/11...
作為分享主義者(sharism),本人所有互聯(lián)網(wǎng)發(fā)布的圖文均遵從CC版權(quán),轉(zhuǎn)載請保留作者信息并注明作者 Harry Zhu 的 FinanceR專欄:https://segmentfault.com/blog...,如果涉及源代碼請注明GitHub地址:https://github.com/harryprince。微信號: harryzhustudio
商業(yè)使用請聯(lián)系作者。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26630.html

相關(guān)文章

  • []打造數(shù)據(jù)產(chǎn)品快速型:DjangoDocker之旅

    摘要:而大多數(shù)數(shù)據(jù)科學(xué)研究的場景下,更快的速度也意味著更早地發(fā)現(xiàn)問題和完成檢驗(yàn)假設(shè)的閉環(huán)。通常,數(shù)據(jù)科學(xué)被認(rèn)為研究成果立即應(yīng)用到生產(chǎn)環(huán)境都是比較緩慢的一個(gè)過程。 showImg(https://segmentfault.com/img/remote/1460000005771293); 概述 在數(shù)據(jù)科學(xué)研究中,快速驗(yàn)證想法是非常關(guān)鍵的一環(huán),而如何快速開發(fā)出數(shù)據(jù)產(chǎn)品則可以有效推動(dòng)整個(gè)數(shù)據(jù)科學(xué)項(xiàng)...

    zhoutao 評論0 收藏0
  • []打造數(shù)據(jù)產(chǎn)品快速型:ShinyDocker之旅

    摘要:使得非傳統(tǒng)程序員的使用者不必依賴于前端后端工程師就可以自己依照業(yè)務(wù)完成一些簡單的數(shù)據(jù)可視化工作,快速驗(yàn)證想法的可靠性。本文以上的的新主機(jī)為例。 概述 本文將介紹如何通過Docker+Shiny-Server技術(shù)極速打造Web開發(fā),并通過實(shí)戰(zhàn)案例進(jìn)行演示。 為什么使用Shiny Shiny是R中的一種Web開發(fā)框架,使得R的使用者不必太了解css、js只需要了解一些html的知識就可以快...

    seal_de 評論0 收藏0
  • []海納百川 有容乃大:SparkR與Docker機(jī)器學(xué)習(xí)實(shí)戰(zhàn)

    摘要:類似包中的功能這很好的解決了的大數(shù)據(jù)級瓶頸問題。也支持分布式的機(jī)器學(xué)習(xí)算法,比如使用機(jī)器學(xué)習(xí)庫。部署本文將通過講解如何快速部署容器,并通過一些簡單的機(jī)器學(xué)習(xí)例子展示如何使用這個(gè)航母級別的組合拳。 showImg(https://segmentfault.com/img/remote/1460000004838121); 題圖為美國尼米茲核動(dòng)力航空母艦 介紹 大數(shù)據(jù)時(shí)代,我們常常面對海量...

    CHENGKANG 評論0 收藏0
  • []文檔定義應(yīng)用:數(shù)據(jù)科學(xué)文檔革命

    摘要:對于數(shù)據(jù)科學(xué)的研究可以說已經(jīng)是本文我將介紹如何以文檔定義應(yīng)用的方式成為數(shù)據(jù)科學(xué)中的標(biāo)準(zhǔn)交付。參考前文解密的數(shù)據(jù)科學(xué)部門如果構(gòu)建知識倉庫,作為一個(gè)謝大大的死忠,我很自然選擇了作為我文檔輸出的首選工具。 showImg(https://segmentfault.com/img/remote/1460000006760433?w=423&h=426); 概述 隨著近年來,Rstudio 通過...

    wh469012917 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<