欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Python中創(chuàng)建API的具體操作

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-11-18 08:58 ? 次閱讀

設(shè)想這么一種情況:

你構(gòu)建了一個(gè)非常好的機(jī)器學(xué)習(xí)模型,比方說它可以預(yù)測某種交易中是否存在欺詐嫌疑?,F(xiàn)在,你的一個(gè)朋友正在為某家銀行開發(fā)Android APP,他希望能把你的模型集成到他們的產(chǎn)品里,因?yàn)槟愕哪P吞珜?shí)用了,性能也格外出色。

但是,那個(gè)Android APP是用JAVA寫的,你的模型是用Python寫的。怎么辦?難道你還要花時(shí)間花精力用JAVA重新寫一個(gè)?

這時(shí)候,你就需要一種秘密武器——API。在實(shí)踐中,上述情況是把機(jī)器學(xué)習(xí)模型轉(zhuǎn)換成API的常見需求之一,這一點(diǎn)非常重要,因?yàn)楝F(xiàn)在各行各業(yè)都在尋找可以把技術(shù)用于生產(chǎn)、經(jīng)營的數(shù)據(jù)科學(xué)家。本文將介紹創(chuàng)建API的具體操作,具體來說,它主要涵蓋以下內(nèi)容:

什么是API

Flask基礎(chǔ)入門

構(gòu)建機(jī)器學(xué)習(xí)模型

保存機(jī)器學(xué)習(xí)模型:序列化和反序列化

用Flask為模型創(chuàng)建API

在Postman中測試API

什么是API

簡單來說,一個(gè)API其實(shí)就是兩個(gè)軟件之間的(假定)契約,如果面向終端用戶的軟件能以預(yù)定義的格式提供輸入,另一個(gè)軟件就能擴(kuò)展其功能,并向面向終端用戶的軟件提供輸出結(jié)果?!狝nalytics Vidhya

從本質(zhì)上講,API非常類似Web應(yīng)用程序,但前者往往以標(biāo)準(zhǔn)數(shù)據(jù)交換格式返回?cái)?shù)據(jù)(如JSON、XML等)。一旦開發(fā)人員拿到了所需的輸出,他們就能按照各種需求對(duì)它進(jìn)行設(shè)計(jì)?,F(xiàn)在有很多流行的機(jī)器學(xué)習(xí)API,比如IBM Watson就有以下功能:

機(jī)器翻譯:將一種語言的文本輸入翻譯為最終用戶的目標(biāo)語言,支持英語、葡萄牙語、西班牙語和法語。

Message Resonance:分析草稿內(nèi)容,并對(duì)它被一個(gè)特定的目標(biāo)受眾接受的可能性進(jìn)行評(píng)分。

Q&A:直接根據(jù)選定和收集到數(shù)據(jù)正文或“語料庫”中的主要數(shù)據(jù)來源,解釋和回答用戶問題。

User Modeling:使用語言分析從一個(gè)人的通信方式中提取一組個(gè)性和社會(huì)特征。

Google Vision API也是一個(gè)很好的例子,它主要面向計(jì)算機(jī)視覺任務(wù)。

基本上,大多數(shù)云服務(wù)提供商都會(huì)提供一系列大型、綜合性的API,而以小規(guī)模機(jī)器學(xué)習(xí)為重點(diǎn)的企業(yè)則提供即用型API。它們都滿足了那些沒有太多機(jī)器學(xué)習(xí)專業(yè)知識(shí)背景的開發(fā)人員/企業(yè)的需求,方便他們?cè)诹鞒毯彤a(chǎn)品套件中部署機(jī)器學(xué)習(xí)技術(shù)。

在Web開發(fā)中,一些比較流行的機(jī)器學(xué)習(xí)API有DialogFlow、Microsoft的Cognitive Toolkit、TensorFlow.js等。

Flask基礎(chǔ)入門

要入門Flask,首先我們得知道什么是Web服務(wù)。Web服務(wù)是API的一種形式,它假定API通過服務(wù)器托管,并且可以被調(diào)用。Web API/Web Service——這些術(shù)語通??梢曰Q使用。

Flask是一個(gè)用Python編寫的輕量級(jí)Web服務(wù)框架,當(dāng)然,它不是Python中的唯一框架,同類競品還有Django、Falcon、Hug等。但本文只介紹如何用Flask創(chuàng)建API。

如果你下載了Anaconda版,里面就已經(jīng)包含了Flask。如果你想用pip:

pip install flask

你會(huì)發(fā)現(xiàn)它非常小,這也是它深受Python開發(fā)人員喜愛的一個(gè)原因。而另一個(gè)原因就是Flask框架附帶內(nèi)置的輕量級(jí)Web服務(wù)器,需要的配置少,而且可以用Python代碼直接控制。

下面的代碼很好地展示了Flask的簡約性。它創(chuàng)建一個(gè)簡單的Web-API,在接收到特定URL時(shí)會(huì)生成一個(gè)特定的輸出。

from flask importFlask

app = Flask(__name__)

@app.route("/")

def hello():

return"Welcome to machine learning model APIs!"

if __name__ == '__main__':

app.run(debug=True)

運(yùn)行后,你可以在終端瀏覽器中輸入這個(gè)網(wǎng)址,然后觀察結(jié)果。

一些要點(diǎn)

Jupyter Notebook非常適合處理有關(guān)Python、R和markdown的東西。但一旦涉及構(gòu)建web服務(wù)器,它就會(huì)出現(xiàn)很多奇怪的bug。所以建議大家最好在Sublime等文本編輯器里編寫Flask代碼,并從終端/命令提示符運(yùn)行代碼。

千萬不要把文件命名為flask.py。

默認(rèn)情況下,運(yùn)行Flask的端口號(hào)是5000。有時(shí)服務(wù)器能在這個(gè)端口上正常啟動(dòng),但有時(shí),如果你是在Web瀏覽器或任何API客戶端(如Postman)中用URL啟動(dòng),它可能會(huì)報(bào)錯(cuò),比如下圖:

根據(jù)Flask的提示,這時(shí)服務(wù)器已經(jīng)在端口5000上成功啟動(dòng)了,但是當(dāng)在瀏覽器中用URL啟動(dòng)時(shí),它沒有輸出任何內(nèi)容。因此,這可能是端口號(hào)沖突了。在這種情況下,我們可以把默認(rèn)端口號(hào)5000改成所需的端口號(hào),只需輸入app.run(debug=True,port=12345)。

輸入以上代碼后,F(xiàn)lask服務(wù)器將如下所示:

現(xiàn)在我們來看看輸入的代碼:

創(chuàng)建Flask實(shí)例后,Python會(huì)自動(dòng)生成一個(gè)name變量。如果這個(gè)文件是作為腳本直接用Python運(yùn)行的,那么這個(gè)變量將為“main”;如果是導(dǎo)入文件,那么“name” 的值將是你導(dǎo)入文件的名稱。例如,如果你有test.py和run.py,并且將test.py導(dǎo)入run.py,那么test.py的“name”值就會(huì)是test(app = Flask(test))。

關(guān)于上面hello()的定義,可以用@app.route("/")。同時(shí),裝飾器route()可以告訴Flask什么URL可以觸發(fā)定義好的hello()。

hello()的作用是在使用API時(shí)生成輸出。在這種情況下,在Web瀏覽器轉(zhuǎn)到localhost:5000/會(huì)產(chǎn)生預(yù)期的輸出(假設(shè)是默認(rèn)端口)。

如果我們想為機(jī)器學(xué)習(xí)模型創(chuàng)建API,下面是一些需要牢記的東西。

構(gòu)建機(jī)器學(xué)習(xí)模型

在這里,我們以最常規(guī)的Scikit-learn模型為例,介紹一下怎么用Flask學(xué)習(xí)Scikit-learn模型。首先,我們來回顧一下Scikit-learn的常用模塊:

聚類

回歸

分類

降維

模型選擇

預(yù)處理

對(duì)于一般數(shù)據(jù),我們?cè)谶M(jìn)行發(fā)送和接收時(shí)會(huì)涉及將對(duì)象轉(zhuǎn)化為便于傳輸?shù)母袷降牟僮鳎鼈円脖环Q為對(duì)象的序列化(serialization)和反序列化(deserialization)。模型和數(shù)據(jù)很不一樣,但Scikit-learn剛好支持對(duì)訓(xùn)練模型的序列化和反序列化,這就為我們節(jié)省了重新訓(xùn)練模型的時(shí)間。通過使用scikit-learn中的模型序列化副本,我們可以編寫Flask API。

同時(shí),Scikit-learn模型的一個(gè)要求是數(shù)據(jù)必需采用數(shù)字格式,這就是為什么我們需要把數(shù)據(jù)集里的分類特征轉(zhuǎn)成數(shù)字特征0和1。事實(shí)上,除了分類,Scikit-learn的sklearn.preprocessing模塊還提供諸如LabelEncoder、OneHotEncoder等編碼方法。

此外,對(duì)于數(shù)據(jù)集里的缺失值,Scikit-learn不能自動(dòng)填充,而是需要我們自己手動(dòng)處理,然后再輸入模型。缺失值和上面提到的特征編碼其實(shí)都是數(shù)據(jù)預(yù)處理的重要步驟,它們對(duì)構(gòu)建性能良好的機(jī)器學(xué)習(xí)模型非常重要。

為了方便演示,這里我們以Kaggle上最受歡迎的數(shù)據(jù)集——泰坦尼克為例進(jìn)行講解。這個(gè)數(shù)據(jù)集主要是個(gè)分類問題,我們的任務(wù)是根據(jù)表格數(shù)據(jù)預(yù)測乘客的生存概率。為了進(jìn)一步簡化,我們只用四個(gè)變量:age(年齡)、sex(性別)、embarked(登船港口:C=Cherbourg, Q=Queenstown, S=Southampton)和survived。其中survived是個(gè)類別標(biāo)簽

# Import dependencies

import pandas as pd

import numpy as np

# Load the dataset in a dataframe object and include only four features as mentioned

url = "http://s3.amazonaws.com/assets.datacamp.com/course/Kaggle/train.csv"

df = pd.read_csv(url)

include = ['Age', 'Sex', 'Embarked', 'Survived'] # Only four features

df_ = df[include]

“Sex”和“Embarked”是非數(shù)字的分類特征,我們需要對(duì)它們進(jìn)行編碼;“age”這個(gè)特征有不少缺失值,這點(diǎn)可以匯總統(tǒng)計(jì)后用中位數(shù)或平均數(shù)來填充;Scikit-learn不能識(shí)別NaN,所以我們還要為此編寫一個(gè)輔助函數(shù):

categoricals = []

for col, col_type in df_.dtypes.iteritems():

if col_type == 'O':

categoricals.append(col)

else:

df_[col].fillna(0, inplace=True)

上面的代碼是為數(shù)據(jù)集填補(bǔ)缺失值。這里需要注意一點(diǎn),缺失值對(duì)模型性能其實(shí)很重要,尤其是當(dāng)空值過多時(shí),我們用單個(gè)值填充要非常謹(jǐn)慎,不然很可能會(huì)導(dǎo)致很大的偏差。在這個(gè)數(shù)據(jù)集里,因?yàn)橛腥笔е档牧惺莂ge,所以我們不應(yīng)該用0填充NaN。

至于把非數(shù)字特征轉(zhuǎn)成數(shù)字行駛,你可以用One Hot Encoding,也可以用Pandas提供的get_dummies():

df_ohe = pd.get_dummies(df_, columns=categoricals, dummy_na=True)

現(xiàn)在我們已經(jīng)完成了預(yù)處理,可以準(zhǔn)備訓(xùn)練機(jī)器學(xué)習(xí)模型了:選擇Logistic回歸分類器。

from sklearn.linear_model importLogisticRegression

dependent_variable = 'Survived'

x = df_ohe[df_ohe.columns.difference([dependent_variable])]

y = df_ohe[dependent_variable]

lr = LogisticRegression()

lr.fit(x, y)

LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,

intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,

penalty='l2', random_state=None, solver='liblinear', tol=0.0001,

verbose=0, warm_start=False)

有了模型,之后就是保存模型。從技術(shù)上講這里我們應(yīng)該對(duì)模型做序列化,在Python里,這個(gè)操作被稱為Pickling。

保存機(jī)器學(xué)習(xí)模型:序列化和反序列化

調(diào)用sklearn的joblib:

from sklearn.externals import joblib

joblib.dump(lr, 'model.pkl')

['model.pkl']

Logistic回歸模型現(xiàn)在保持不變,我們可以用一行代碼把它加載到內(nèi)存中,而把模型加載回工作區(qū)的操作就是反序列化。

lr = joblib.load('model.pkl')

用Flask為模型創(chuàng)建API

要用Flask為模型創(chuàng)建服務(wù)器,我們要做兩件事:

當(dāng)APP啟動(dòng)時(shí)把已經(jīng)存在的模型加載到內(nèi)存中。

創(chuàng)建一個(gè)API斷電,它接受輸入變量,將它們轉(zhuǎn)換為適當(dāng)?shù)母袷剑⒎祷仡A(yù)測。

更具體地說,你對(duì)API的輸入將如下所示:

[

{"Age": 85, "Sex": "male", "Embarked": "S"},

{"Age": 24, "Sex": '"female"', "Embarked": "C"},

{"Age": 3, "Sex": "male", "Embarked": "C"},

{"Age": 21, "Sex": "male", "Embarked": "S"}

]

與此同時(shí),API的輸出會(huì)是:

{"prediction": [0, 1, 1, 0]}

其中0表示遇難,1表示幸存。這里輸入格式是JSON,它是最廣泛使用的數(shù)據(jù)交換格式之一。

要做到上述效果,我們需要先編寫一個(gè)函數(shù)predict(),它的目標(biāo)如前所述:

當(dāng)APP啟動(dòng)時(shí)把已經(jīng)存在的模型加載到內(nèi)存中。

創(chuàng)建一個(gè)API斷電,它接受輸入變量,將它們轉(zhuǎn)換為適當(dāng)?shù)母袷?,并返回預(yù)測。

我們已經(jīng)演示了如何加載已有模型,之后是根據(jù)接收的輸入預(yù)測人員生存狀態(tài):

from flask importFlask, jsonify

app = Flask(__name__)

@app.route('/predict', methods=['POST'])

def predict():

json_ = request.json

query_df = pd.DataFrame(json_)

query = pd.get_dummies(query_df)

prediction = lr.predict(query)

return jsonify({'prediction': list(prediction)})

雖然看起來挺簡單,但你可能會(huì)在這個(gè)步驟遇到一個(gè)小問題。

為了讓你編寫的函數(shù)能正常運(yùn)行,傳入請(qǐng)求中必需包含這四個(gè)分類變量的所有可能值,這些值可能是實(shí)時(shí)的,也可能不是。如果傳入請(qǐng)求里出現(xiàn)必要值缺失,那么根據(jù)當(dāng)前方法定義的predict()生成的數(shù)據(jù)列會(huì)比分類器里少,模型就會(huì)報(bào)錯(cuò)。

要解決這個(gè)問題,我們需要在模型訓(xùn)練期間把列保留下來,把任何Python對(duì)象序列化為.pkl文件。

model_columns = list(x.columns)

joblib.dump(model_columns, 'model_columns.pkl')

['model_columns.pkl']

由于已經(jīng)保留了列列表,所以你可以在預(yù)測時(shí)處理缺失值(記得在APP啟動(dòng)前加載模型):

@app.route('/predict', methods=['POST']) # Your API endpoint URL would consist /predict

def predict():

if lr:

try:

json_ = request.json

query = pd.get_dummies(pd.DataFrame(json_))

query = query.reindex(columns=model_columns, fill_value=0)

prediction = list(lr.predict(query))

return jsonify({'prediction': prediction})

except:

return jsonify({'trace': traceback.format_exc()})

else:

print ('Train the model first')

return ('No model here to use')

你已經(jīng)在“/ predict”API中包含了所有必需元素,現(xiàn)在你只需要編寫主類:

if __name__ == '__main__':

try:

port = int(sys.argv[1]) # This is for a command-line argument

except:

port = 12345# If you don't provide any port then the port will be set to 12345

lr = joblib.load(model_file_name) # Load "model.pkl"

print ('Model loaded')

model_columns = joblib.load(model_columns_file_name) # Load "model_columns.pkl"

print ('Model columns loaded')

app.run(port=port, debug=True)

現(xiàn)在,這個(gè)API就全部完成可以托管了。

當(dāng)然,如果你想把Logistic回歸模型代碼和Flask API代碼分離為單獨(dú)的.py文件,這其實(shí)是一種很好的編程習(xí)慣。那么你的model.py代碼應(yīng)該如下所示:

# Import dependencies

import pandas as pd

import numpy as np

# Load the dataset in a dataframe object and include only four features as mentioned

url = "http://s3.amazonaws.com/assets.datacamp.com/course/Kaggle/train.csv"

df = pd.read_csv(url)

include = ['Age', 'Sex', 'Embarked', 'Survived'] # Only four features

df_ = df[include]

# Data Preprocessing

categoricals = []

for col, col_type in df_.dtypes.iteritems():

if col_type == 'O':

categoricals.append(col)

else:

df_[col].fillna(0, inplace=True)

df_ohe = pd.get_dummies(df_, columns=categoricals, dummy_na=True)

# Logistic Regression classifier

from sklearn.linear_model importLogisticRegression

dependent_variable = 'Survived'

x = df_ohe[df_ohe.columns.difference([dependent_variable])]

y = df_ohe[dependent_variable]

lr = LogisticRegression()

lr.fit(x, y)

# Save your model

from sklearn.externals import joblib

joblib.dump(lr, 'model.pkl')

print("Model dumped!")

# Load the model that you just saved

lr = joblib.load('model.pkl')

# Saving the data columns from training

model_columns = list(x.columns)

joblib.dump(model_columns, 'model_columns.pkl')

print("Models columns dumped!")

而api.py則是:

# Dependencies

from flask importFlask, request, jsonify

from sklearn.externals import joblib

import traceback

import pandas as pd

import numpy as np

# Your API definition

app = Flask(__name__)

@app.route('/predict', methods=['POST'])

def predict():

if lr:

try:

json_ = request.json

print(json_)

query = pd.get_dummies(pd.DataFrame(json_))

query = query.reindex(columns=model_columns, fill_value=0)

prediction = list(lr.predict(query))

return jsonify({'prediction': str(prediction)})

except:

return jsonify({'trace': traceback.format_exc()})

else:

print ('Train the model first')

return ('No model here to use')

if __name__ == '__main__':

try:

port = int(sys.argv[1]) # This is for a command-line input

except:

port = 12345# If you don't provide any port the port will be set to 12345

lr = joblib.load("model.pkl") # Load "model.pkl"

print ('Model loaded')

model_columns = joblib.load("model_columns.pkl") # Load "model_columns.pkl"

print ('Model columns loaded')

app.run(port=port, debug=True)

現(xiàn)在,你可以在名為Postman的API客戶端中測試此API 。只要確保model.py與api.py在同一個(gè)目錄下,并確保兩者都已在測試前編譯好了,如下圖所示:

如果所有文件都已成功編譯,目錄結(jié)構(gòu)應(yīng)該如下圖所示:

注:IPYNB文件是可選的。

在Postman中測試API

Postman是測試API最好用的工具之一。如果你下載了最新版本,它的界面應(yīng)該如下所示:

成功啟動(dòng)Flask服務(wù)器后,你需要在Postman中輸入包含正確端口號(hào)的正確URL:

恭喜!你剛剛構(gòu)建了第一個(gè)機(jī)器學(xué)習(xí)API。這是個(gè)可以根據(jù)泰坦尼克號(hào)乘客age、sex和embarked信息預(yù)測他們生存狀態(tài)的API,現(xiàn)在,你的朋友就能用前端代碼調(diào)用它,輸出神奇的結(jié)果。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8442

    瀏覽量

    133103
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4809

    瀏覽量

    85053

原文標(biāo)題:如何在Python中把機(jī)器學(xué)習(xí)模型轉(zhuǎn)成API

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CortexR52內(nèi)核Cache的具體操作

    本節(jié)內(nèi)容主要講述CortexR52內(nèi)核Cache的具體操作包括使緩存無效(invalidate)操作,清除(clean)緩存。有的時(shí)候客戶可能需要對(duì)cache做一些清理,比如invalidate
    的頭像 發(fā)表于 07-15 10:32 ?1411次閱讀
    CortexR52內(nèi)核Cache的<b class='flag-5'>具體操作</b>

    Cortex R52內(nèi)核Cache的具體操作(2)

    本節(jié)內(nèi)容主要講述CortexR52內(nèi)核Cache的具體操作包括使緩存無效(invalidate)操作,清除(clean)緩存。有的時(shí)候客戶可能需要對(duì)cache做一些清理,比如invalidate
    的頭像 發(fā)表于 07-15 15:44 ?1554次閱讀
    Cortex R52內(nèi)核Cache的<b class='flag-5'>具體操作</b>(2)

    求ATmega168看門狗復(fù)位的具體操作過程?

    ATmega168看門狗復(fù)位的具體操作過程
    發(fā)表于 11-18 07:17

    看門狗定時(shí)器的具體操作

    看門狗定時(shí)器(WatchDog Timer)在出現(xiàn)程序跑飛卡死的時(shí)候用來強(qiáng)制復(fù)位處理器或控制器。具體操作是:通常程序正常循環(huán)會(huì)在一定周期內(nèi)進(jìn)行“喂狗”,若程序執(zhí)行一個(gè)錯(cuò)誤代碼或者程序卡死,將不
    發(fā)表于 11-10 07:15

    移植Miracl庫的具體操作步驟

    上一篇文章我們?yōu)榇蠹医榻B了嵌入式設(shè)備中支持國密算法的幾種方法。本篇我們?cè)敿?xì)的介紹一下第一種方法:移植Miracl庫的具體操作步驟。第一步 獲取源碼MIRACL密碼庫是開源軟件,可以直接到官網(wǎng)下
    發(fā)表于 12-21 06:57

    AssistiveTouch的輔助功能鎖定屏幕如何具體操作

    ?和小編一起來看看吧!具體操作方法AssistiveTouch 使您可以使用 iPhone 或 iPad 觸摸屏上的簡單菜單選項(xiàng)模擬身體動(dòng)作、手勢和按鈕按下。這包括鎖定屏幕和重新啟動(dòng)設(shè)備。要啟用它,首先,打開 iPhone 或 iPad 上的設(shè)置。“設(shè)置”
    發(fā)表于 12-31 07:04

    使用CH340來下載燒錄或調(diào)試的具體操作步驟有哪些

    CH340是什么?有何特點(diǎn)?使用CH340來下載燒錄或調(diào)試的具體操作步驟有哪些?
    發(fā)表于 02-24 07:05

    Protel在線教程:如何在PCB給PCB補(bǔ)淚滴的具體操作

    Protel在線教程:如何在PCB給PCB補(bǔ)淚滴的具體操作 仔細(xì)看這里,我們將學(xué)會(huì)做給PCB補(bǔ)淚滴的具體操作 
    發(fā)表于 04-22 09:02 ?8072次閱讀
    Protel在線教程:如何在PCB<b class='flag-5'>中</b>給PCB補(bǔ)淚滴的<b class='flag-5'>具體操作</b>

    Protel在線教程:PCB給PCB做覆銅的具體操作

    Protel在線教程:PCB給PCB做覆銅的具體操作
    發(fā)表于 04-22 09:03 ?4074次閱讀
    Protel在線教程:<b class='flag-5'>在</b>PCB<b class='flag-5'>中</b>給PCB做覆銅的<b class='flag-5'>具體操作</b>

    視覺圖像系統(tǒng),ROI如何做顯示處理以及具體操作步驟

    處理以及具體操作步驟。 如何確保ROI感興趣的區(qū)域,我們選定的測量范圍之內(nèi)呢?大致有4個(gè)以下步驟: 1)基于標(biāo)準(zhǔn)圖像目標(biāo)的特征,確定參考坐標(biāo)系; 2)標(biāo)準(zhǔn)圖像設(shè)置檢測ROI; 3
    的頭像 發(fā)表于 01-27 09:39 ?1.1w次閱讀
    視覺圖像系統(tǒng)<b class='flag-5'>中</b>,ROI如何做顯示處理以及<b class='flag-5'>具體操作</b>步驟

    Allegro打過孔的具體操作步驟

    Allegro有一個(gè)非常好用的打過孔功能,可以信號(hào)線旁邊快速打孔,提升了工作效率,避免手動(dòng)打過孔的煩惱,具體操作步驟如下(本文使用的是Allegro17.4,其他低階版本使用方法大致相同):點(diǎn)擊
    的頭像 發(fā)表于 10-17 09:38 ?5051次閱讀

    PCB電鍍工藝流程及具體操作方法

    線路板的電鍍工藝,大約可以分類:酸性光亮銅電鍍、電鍍鎳/金、電鍍錫,文章介紹的是關(guān)于在線路板加工過程是,電鍍工藝的技術(shù)以及工藝流程,以及具體操作方法.
    發(fā)表于 02-07 15:27 ?7678次閱讀

    差分探頭的使用具體操作步驟

    品致差分探頭是一種專業(yè)用于電路測量的精密測試設(shè)備,其獨(dú)特的差分設(shè)計(jì)能夠有效消除噪聲干擾,提高信號(hào)測量的精確度。下面PRBTEK將為大家介紹品致差分探頭的具體操作方法。
    的頭像 發(fā)表于 04-03 11:18 ?4736次閱讀
    差分探頭的使用<b class='flag-5'>具體操作</b>步驟

    三坐標(biāo)測量儀的具體操作步驟

    正確使用蔡司三坐標(biāo)測量儀可以延長儀器的使用壽命,下面看看三本精密儀器的三坐標(biāo)測量儀的具體操作步驟:一、規(guī)劃檢測方案首先是要查看零件圖紙,了解測量的要求和方法,規(guī)劃檢測方案或調(diào)出檢測程序。二、注意操作
    的頭像 發(fā)表于 06-08 15:24 ?4304次閱讀
    三坐標(biāo)測量儀的<b class='flag-5'>具體操作</b>步驟

    威綸通觸摸屏遠(yuǎn)程上下載程序需要什么工具?具體操作步驟是什么?

    威綸通觸摸屏遠(yuǎn)程上下載程序需要什么工具?具體操作步驟是什么?
    的頭像 發(fā)表于 01-17 15:34 ?4994次閱讀
    威綸通觸摸屏遠(yuǎn)程上下載程序需要什么工具?<b class='flag-5'>具體操作</b>步驟是什么?