欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python-OpenCV深度學(xué)習(xí)入門示例詳解

 更新時(shí)間:2021年12月23日 16:47:46   作者:盼小輝丶  
深度學(xué)習(xí)已經(jīng)成為機(jī)器學(xué)習(xí)中最受歡迎和發(fā)展最快的領(lǐng)域。深度學(xué)習(xí)的常見(jiàn)應(yīng)用包括語(yǔ)音識(shí)別、圖像識(shí)別、自然語(yǔ)言處理、推薦系統(tǒng)等等。本文將通過(guò)一些示例代碼,帶你詳細(xì)了解深入學(xué)習(xí)

0. 前言

深度學(xué)習(xí)已經(jīng)成為機(jī)器學(xué)習(xí)中最受歡迎和發(fā)展最快的領(lǐng)域。自 2012 年深度學(xué)習(xí)性能超越機(jī)器學(xué)習(xí)等傳統(tǒng)方法以來(lái),深度學(xué)習(xí)架構(gòu)開(kāi)始快速應(yīng)用于包括計(jì)算機(jī)視覺(jué)在內(nèi)的眾多領(lǐng)域。深度學(xué)習(xí)的常見(jiàn)應(yīng)用包括語(yǔ)音識(shí)別、圖像識(shí)別、自然語(yǔ)言處理、推薦系統(tǒng)等等。大多數(shù)現(xiàn)代深度學(xué)習(xí)架構(gòu)都基于人工神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)中的“深”是指架構(gòu)的層數(shù)。在本文中,首先介紹傳統(tǒng)機(jī)器學(xué)習(xí)方法與深度學(xué)習(xí)間的差異,然后將介紹圖像分類和對(duì)象檢測(cè)中常見(jiàn)的深度學(xué)習(xí)架構(gòu),最后,將介紹深度學(xué)習(xí) Python 庫(kù) Keras,并通過(guò)實(shí)戰(zhàn)來(lái)推開(kāi)深度學(xué)習(xí)的大門。

1. 計(jì)算機(jī)視覺(jué)中的深度學(xué)習(xí)簡(jiǎn)介

深度學(xué)習(xí)推動(dòng)了計(jì)算機(jī)視覺(jué)領(lǐng)域的深刻變革,我們首先解釋深度學(xué)習(xí)中的關(guān)鍵概念,以便更好的了解深度學(xué)習(xí)的廣袤世界。

1.1 深度學(xué)習(xí)的特點(diǎn)

深度學(xué)習(xí)在許多計(jì)算機(jī)視覺(jué)任務(wù)中的性能超越了傳統(tǒng)的機(jī)器學(xué)習(xí)方法,但在選擇何種方法完成特定的計(jì)算任務(wù)時(shí),應(yīng)該明確深度學(xué)習(xí)與傳統(tǒng)的機(jī)器學(xué)習(xí)方法之間的區(qū)別,以選擇合適的方法:

  • 傳統(tǒng)的機(jī)器學(xué)習(xí)算法大多可以在低端機(jī)器上運(yùn)行,而深度學(xué)習(xí)算法需要較高的算力才能正確訓(xùn)練,通常這些計(jì)算可以使用 GPU 進(jìn)行優(yōu)化并行計(jì)算
  • 當(dāng)對(duì)特征工程缺乏領(lǐng)域理解時(shí),深度學(xué)習(xí)技術(shù)將是首選方法,這是由于在深度學(xué)習(xí)中,尋找相關(guān)特征的任務(wù)是算法的一部分,它通過(guò)減少問(wèn)題的特征工程來(lái)實(shí)現(xiàn)自動(dòng)化。特征工程是將領(lǐng)域知識(shí)應(yīng)用于創(chuàng)建特征檢測(cè)器和提取器的過(guò)程,目的是降低數(shù)據(jù)的復(fù)雜性,使傳統(tǒng)的機(jī)器學(xué)習(xí)方法能夠正確學(xué)習(xí)。因此,傳統(tǒng)機(jī)器學(xué)習(xí)算法的性能取決于識(shí)別和提取特征的準(zhǔn)確程度,而深度學(xué)習(xí)技術(shù)試圖從數(shù)據(jù)中自動(dòng)提取高級(jí)特征。
  • 傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)都能夠處理海量數(shù)據(jù)集。但兩種方法之間的主要區(qū)別在于隨著數(shù)據(jù)規(guī)模的增加其性能的變化程度。例如,在處理小數(shù)據(jù)集時(shí),深度學(xué)習(xí)算法難以在數(shù)據(jù)中找到映射關(guān)系,因此可能表現(xiàn)不佳,因?yàn)樯疃葘W(xué)習(xí)通常需要大量數(shù)據(jù)來(lái)調(diào)整其內(nèi)部參數(shù)。根據(jù)經(jīng)驗(yàn)法,如果數(shù)據(jù)集很大,深度學(xué)習(xí)會(huì)優(yōu)于其他技術(shù),而當(dāng)數(shù)據(jù)集很小時(shí),傳統(tǒng)的機(jī)器學(xué)習(xí)算法更可取。

可以使用下圖來(lái)總結(jié)機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的主要區(qū)別:

機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的區(qū)別

由上圖可知,機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的關(guān)鍵選擇要點(diǎn)如下:

  • 計(jì)算資源(深度學(xué)習(xí)<——高算力計(jì)算機(jī);機(jī)器學(xué)習(xí)<——低算力計(jì)算機(jī))
  • 特征工程(深度學(xué)習(xí)<——特征提取和目標(biāo)任務(wù)在同一步驟中;機(jī)器學(xué)習(xí)<——特征提取和目標(biāo)任務(wù)在不同步驟中)
  • 數(shù)據(jù)集大?。ㄉ疃葘W(xué)習(xí)<——大型或超大型數(shù)據(jù)集;機(jī)器學(xué)習(xí)<——小型或中型數(shù)據(jù)集)

1.2 深度學(xué)習(xí)大爆發(fā)

深度學(xué)習(xí)的概念可以追溯至 1986 年,但直到 2012 年深度學(xué)習(xí)性能超越傳統(tǒng)機(jī)器學(xué)習(xí)時(shí),才出現(xiàn)了深度學(xué)習(xí)的大爆發(fā)。 ImageNet 是一個(gè)大型視覺(jué)數(shù)據(jù)庫(kù),包含超過(guò) 1400 萬(wàn)張帶有標(biāo)簽的高分辨率圖像,包含 20,000 多個(gè)類別。因此,2012 年 AlexNet 架構(gòu)在解決 ImageNet 大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)賽 (ILSVRC) 上的突破性進(jìn)展通常被認(rèn)為是深度學(xué)習(xí)大爆發(fā)的開(kāi)始。

2. 用于圖像分類的深度學(xué)習(xí)簡(jiǎn)介

繼 AlexNet 在 ILSVRC 比賽中取得成功之后,更多深度學(xué)習(xí)架構(gòu)開(kāi)始被應(yīng)用于 ImageNet 挑戰(zhàn)賽中,下圖顯示了在 ImageNet 挑戰(zhàn)賽中的最相關(guān)深度學(xué)習(xí)模型的準(zhǔn)確率和模型的參數(shù)量:

性能對(duì)比

接下來(lái),對(duì)深度學(xué)習(xí)模型架構(gòu)進(jìn)行介紹,以了解它們的發(fā)展脈絡(luò)及其關(guān)鍵點(diǎn):

AlexNet:AlexNet 是 LSVRC-2012 的獲勝者,是一種簡(jiǎn)單但功能強(qiáng)大的網(wǎng)絡(luò)架構(gòu),其通過(guò)堆疊卷積層和池化層,最后頂部使用全連接層。

VGG:VGGNet 由 Visual Geometry Group (VGG) 提出,在 LSVRC-2014 中排名第二,與 AlexNet 相比其在整個(gè)網(wǎng)絡(luò)中僅使用 3 x 3 卷積核,而不是使用大尺寸卷積核(例如 7 x 7 和 11 x 11),主要貢獻(xiàn)在于它表明網(wǎng)絡(luò)的深度是在卷積神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn)更好的識(shí)別或分類準(zhǔn)確率的關(guān)鍵。它的主要缺點(diǎn)是訓(xùn)練速度非常慢,并且其網(wǎng)絡(luò)架構(gòu)權(quán)重參數(shù)量非常大(可以從上圖看出)。

GoogLeNet/Inception V1:GoogLeNet (也稱 Inception V1) 是 LSVRC-2014 的獲勝者,其 top-5 錯(cuò)誤率僅為 6.67%,非常接近人類水平的表現(xiàn)。這種架構(gòu)比 VGGNet 更深,但由于其使用 9 個(gè)并行的 Inception 模塊,Inception 模塊基于幾個(gè)非常小的卷積,極大的減少了參數(shù)數(shù)量。

ResNet:ResNets 是 LSVRC-2015 的獲勝者,是迄今為止最深的網(wǎng)絡(luò),其包含 153 個(gè)卷積層 top-5 分類錯(cuò)誤率僅為 4.9% (使深度學(xué)習(xí)模型準(zhǔn)確率首次高于人類)。該架構(gòu)使用跳躍連接,可實(shí)現(xiàn)增量學(xué)習(xí)修改。

Inception V3:Inception V2 在 Inception 模塊中引入了批歸一化,Inception V3 架構(gòu)包含了分解思想,其目標(biāo)是在不降低網(wǎng)絡(luò)效率的情況下減少參數(shù)的數(shù)量。

Inception V4:Inception V4 具有比 Inception-V3 更統(tǒng)一的簡(jiǎn)化架構(gòu)和更多的 Inception 模塊,在 LSVRC 上達(dá)到了 80.2% 的 top-1 準(zhǔn)確率和 95.2% 的 top-5 準(zhǔn)確率。

3. 用于目標(biāo)檢測(cè)的深度學(xué)習(xí)簡(jiǎn)介

目標(biāo)檢測(cè)是深度學(xué)習(xí)中的一個(gè)熱門話題,其用于識(shí)別和定位圖像中的多個(gè)對(duì)象。目標(biāo)檢測(cè)算法通常使用以下三個(gè)數(shù)據(jù)集進(jìn)行基準(zhǔn)測(cè)試:1) PASCAL Visual Object (PASCAL VOC) 數(shù)據(jù)集,包含 20 個(gè)類別的 10,000 張圖像,數(shù)據(jù)集中包含目標(biāo)的邊界框;2) ImageNet 在 2013 年發(fā)布了一個(gè)目標(biāo)檢測(cè)數(shù)據(jù)集,它由大約 500,000 張圖像和 200 個(gè)類別組成;3) Common Objects in Context (COCO) 是一個(gè)大規(guī)模的對(duì)象檢測(cè)、分割數(shù)據(jù)集,其包括 328,000 張圖像以及 250 萬(wàn)個(gè)標(biāo)記目標(biāo)。為了評(píng)估目標(biāo)檢測(cè)算法,通常使用平均精度均值 (mean Average Precision, mAP),用于目標(biāo)檢測(cè)深度學(xué)習(xí)算法:

R-CNN:Region-based Convolutional Network (R-CNN) 是最早使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測(cè)的算法之一,與基于 HOG 特征的系統(tǒng)相比,卷積神經(jīng)網(wǎng)絡(luò)可以帶來(lái)更高的對(duì)象檢測(cè)性能。該算法可以分解為以下三個(gè)步驟:

  1. 創(chuàng)建一組候選區(qū)域
  2. 對(duì)每個(gè)候選區(qū)域通過(guò)基于 AlexNet 的模型執(zhí)行前向傳遞以提取特征向量
  3. 潛在對(duì)象通過(guò) SVM 分類器預(yù)測(cè)類別,利用線性回歸器預(yù)測(cè)邊界框的坐標(biāo)

Fast R-CNN:Fast Region-based Convolutional Network (Fast R-CNN) 是對(duì) R-CNN的改進(jìn),以有效地對(duì)目標(biāo)提議進(jìn)行分類。此外,F(xiàn)ast R-CNN 采用多項(xiàng)創(chuàng)新來(lái)提高訓(xùn)練和測(cè)試速度,同時(shí)提高檢測(cè)精度。

Faster R-CNN:Faster R-CNN 是對(duì) Fast R-CNN 的改進(jìn),它引入了候選區(qū)域網(wǎng)絡(luò) (region proposal network, RPN),與檢測(cè)網(wǎng)絡(luò)共享圖像的卷積特征。

R-FCN:Region-based Fully Convolutional Network (R-FCN) 是一個(gè)只有卷積層的框架,以實(shí)現(xiàn)準(zhǔn)確高效的目標(biāo)檢測(cè)。

YOLO: You only look once (YOLO) 可以在一個(gè)步驟中同時(shí)預(yù)測(cè)邊界框和類別概率。與其他深度學(xué)習(xí)檢測(cè)器相比,YOLO 產(chǎn)生更多的定位誤差,但其產(chǎn)生假陽(yáng)性的概率較小。

SSD:Single Shot MultiBox Detector (SSD) 同樣通過(guò)單一端到端卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)同時(shí)預(yù)測(cè)邊界框和類別概率。

YOLO V2: YOLO V2 是 YOLO 的改進(jìn)版本,專注于提高準(zhǔn)確性,同時(shí)是一個(gè)實(shí)時(shí)快速檢測(cè)器。

NASNet: NASNet 的作者介紹了神經(jīng)網(wǎng)絡(luò)搜索,通過(guò)使用循環(huán)神經(jīng)網(wǎng)絡(luò)來(lái)組成神經(jīng)網(wǎng)絡(luò)架構(gòu),NASNet 學(xué)習(xí)模型模型架構(gòu)的同時(shí)提高準(zhǔn)確性。

Mask R-CNN:Mask Region-based Convolutional Network (Mask R-CNN) 是 Faster R-CNN 模型的改進(jìn),它為邊界框檢測(cè)添加了一個(gè)并行分支,目的是預(yù)測(cè)目標(biāo)掩碼。目標(biāo)掩碼是它在圖像中按像素進(jìn)行的分割,允許進(jìn)行目標(biāo)實(shí)例分割。

YOLO V3:YOLO V3 是以 YOLO V1 和 YOLO V2 為基礎(chǔ)調(diào)整了網(wǎng)絡(luò)結(jié)構(gòu);利用多尺度特征進(jìn)行對(duì)象檢測(cè)。

YOLO V4:YOLO-V4 算法是在原有 YOLO 目標(biāo)檢測(cè)架構(gòu)的基礎(chǔ)上,采用了 CNN 領(lǐng)域中優(yōu)秀的優(yōu)化策略,從數(shù)據(jù)處理、主干網(wǎng)絡(luò)、網(wǎng)絡(luò)訓(xùn)練、激活函數(shù)、損失函數(shù)等各個(gè)方面都有著不同程度的優(yōu)化。

4. 深度學(xué)習(xí)框架 keras 介紹與使用

在本節(jié)中,我們將通過(guò)兩個(gè)簡(jiǎn)單示例來(lái)一窺深度學(xué)習(xí)的神秘面紗。在第一個(gè)示例中,構(gòu)造輸入數(shù)據(jù)來(lái)解決線性回歸問(wèn)題;在第二個(gè)示例中,使用 MNIST 數(shù)據(jù)集對(duì)手寫數(shù)字進(jìn)行分類。

4.1 keras 庫(kù)簡(jiǎn)介與安裝

Keras 是用 Python 編寫的開(kāi)源高級(jí)神經(jīng)網(wǎng)絡(luò) API,它能夠在 TensorFlow、或 Theano 之上運(yùn)行,其最大的特點(diǎn)是能夠?qū)崿F(xiàn)快速實(shí)驗(yàn),因此本文利用它來(lái)進(jìn)行深度學(xué)習(xí)實(shí)戰(zhàn)。

要安裝 Keras,首先進(jìn)行安裝:

pip install keras

4.2 使用 keras 實(shí)現(xiàn)線性回歸模型

首先創(chuàng)建用于訓(xùn)練/測(cè)試算法的數(shù)據(jù),如下所示:

# 產(chǎn)生一百個(gè)隨機(jī)數(shù)據(jù)點(diǎn)作為訓(xùn)練數(shù)據(jù)
Number = 100
x = np.linspace(0, Number, Number)
y = 3 * np.linspace(0, Number, Number) + np.random.uniform(-12, 12, Number)

接下來(lái)創(chuàng)建模型:

def create_model():
    # 創(chuàng)建 Sequential 模型
    model = Sequential()
    # 使用具有線性激活函數(shù)的全連接層
    model.add(Dense(input_dim=1, units=1, activation='linear', kernel_initializer='uniform'))
    # 使用均方差(mse)作為損失函數(shù),Adam作為優(yōu)化器編譯模型 
    model.compile(loss='mse', optimizer=Adam(lr=0.1))
    return model

使用 Keras 時(shí),最簡(jiǎn)單的模型類型是 Sequential 模型,可以將其視為網(wǎng)絡(luò)層的線性堆棧,對(duì)于更復(fù)雜的架構(gòu),可以使用 Keras 函數(shù)式 API,以創(chuàng)建任意網(wǎng)絡(luò)架構(gòu)。

作為簡(jiǎn)單示例,此處使用 Sequential 模型,然后利用 model.add() 方法堆疊層來(lái)構(gòu)建模型。在此示例中,使用了具有線性激活函數(shù)的單個(gè)全連接層。定義模型之后,需要使用損失函數(shù)與優(yōu)化器編譯模型,示例中使用均方差 (mean squared error, MSE) 作為損失函數(shù),使用 Adam 作為優(yōu)化器并設(shè)置學(xué)習(xí)率為 0.1。

編譯模型完成后,就可以使用 model.fit() 方法使用訓(xùn)練數(shù)據(jù)的訓(xùn)練模型:

linear_reg_model.fit(x, y, epochs=100, validation_split=0.2, verbose=2)

訓(xùn)練后,就可以獲得可學(xué)習(xí)參數(shù) w 和 b,這些值將用于接下來(lái)的:

def get_weights(model):
    w = model.get_weights()[0][0][0]
    b = model.get_weights()[1][0]
    return w, b
w_final, b_final = get_weights(linear_reg_model)

接下來(lái),我們可以用以下方式進(jìn)行預(yù)測(cè):

predictions = w_final * x + b_final

還可以保存模型:

linear_reg_model.save_weights("my_model.h5")

最后可以將訓(xùn)練數(shù)據(jù)集和訓(xùn)練完成后線性模型進(jìn)行可視化:

plt.subplot(1, 2, 1)
plt.plot(x, y, 'ro', label='Original data')
plt.xlabel('x')
plt.ylabel('y')
plt.title("Training Data")

plt.subplot(1, 2, 2)
plt.plot(x, y, 'ro', label='Original data')
plt.plot(x, predictions, label='Fitted line')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Linear Regression Result', fontsize=10)
plt.legend()
plt.show()

線性回歸

如上圖所示,可以看到左側(cè)圖像顯示的是訓(xùn)練數(shù)據(jù),右側(cè)圖像顯示了線性回歸模型對(duì)應(yīng)的擬合線。

如果我們已經(jīng)擁有訓(xùn)練完成的模型權(quán)重文件,就可以直接加載預(yù)先訓(xùn)練的模型來(lái)進(jìn)行預(yù)測(cè):

# 加載模型
linear_reg_model.load_weights('my_model.h5')
# 構(gòu)建測(cè)試數(shù)據(jù)集
M = 3
new_x = np.linspace(Number + 1, Number + 10, M)
# 使用模型進(jìn)行預(yù)測(cè)
new_predictions = linear_reg_model.predict(new_x)

程序的運(yùn)行結(jié)果如下圖所示:

線性回歸預(yù)測(cè)

4.3 使用 keras 進(jìn)行手寫數(shù)字識(shí)別

接下來(lái),我們使用 Keras 識(shí)別手寫數(shù)字,與第一個(gè)示例相同,首先需要構(gòu)建模型:

def create_model():
    model = Sequential()
    model.add(Dense(units=128, activation='relu', input_shape=(784,)))
    model.add(Dense(units=128, activation='relu'))
    model.add(Dense(units=64, activation='relu'))
    model.add(Dense(units=10, activation='softmax'))
    # 使用分類交叉熵(categorical_crossentropy)作為損失函數(shù)和隨機(jī)梯度下降作為優(yōu)化器編譯模型
    model.compile(optimizer=SGD(0.001), loss='categorical_crossentropy', metrics=['acc'])

    return model

使用 categorical_crossentropy 損失函數(shù)編譯模型,該損失函數(shù)非常適合比較兩個(gè)概率分布,使用隨機(jī)梯度下降 (stochastic gradient descent, SGD) 作為優(yōu)化器。

接下來(lái)加載 MNIST 數(shù)據(jù)集:

(train_x, train_y), (test_x, test_y) = mnist.load_data()

此外,由于我們使用的是全連接層,因此必須對(duì)加載的數(shù)據(jù)進(jìn)行整形以輸入網(wǎng)絡(luò):

train_x = train_x.reshape(60000, 784)
test_x = test_x.reshape(10000, 784)
train_y = keras.utils.to_categorical(train_y, 10)
test_y = keras.utils.to_categorical(test_y, 10)

創(chuàng)建模型完成后,就可以訓(xùn)練模型,并保存創(chuàng)建的模型,也可以評(píng)估模型在測(cè)試數(shù)據(jù)集上的表現(xiàn):

# 模型創(chuàng)建
model = create_model()
# 模型訓(xùn)練
model.fit(train_x, train_y, batch_size=32, epochs=10, verbose=1)
# 模型保存
model.save("mnist-model.h5")
# 評(píng)估模型在測(cè)試數(shù)據(jù)集上的表現(xiàn)
accuracy = model.evaluate(x=test_x, y=test_y, batch_size=32)
# 打印準(zhǔn)確率
print("Accuracy: ", accuracy[1])

接下來(lái),可以使用訓(xùn)練完成的模型來(lái)預(yù)測(cè)圖像中的手寫數(shù)字:

def load_digit(image_name):
    gray = cv2.imread(image_name, cv2.IMREAD_GRAYSCALE)
    gray = cv2.resize(gray, (28, 28))
    gray = gray.reshape((1, 784))
    return gray
# 加載圖片
test_digit_0 = load_digit("digit_0.png")
test_digit_1 = load_digit("digit_1.png")
test_digit_2 = load_digit("digit_2.png")
test_digit_3 = load_digit("digit_3.png")
imgs = np.array([test_digit_0, test_digit_1, test_digit_2, test_digit_3])
imgs = imgs.reshape(4, 784)
# 預(yù)測(cè)加載圖像
prediction_class = model.predict_classes(imgs)
# 打印預(yù)測(cè)結(jié)果
print("Class: ", prediction_class)

加載的四張圖像如下圖所示:

圖像加載

使用經(jīng)過(guò)訓(xùn)練的模型來(lái)預(yù)測(cè)這些圖像,得到的輸出如下:

Class: [0 1 2 3]

小結(jié)

在本節(jié)中,使用流行的庫(kù)深度學(xué)習(xí)庫(kù) Keras 對(duì)深度學(xué)習(xí)進(jìn)行了介紹。我們首先概述了用于圖像分類和目標(biāo)檢測(cè)的深度學(xué)習(xí)架構(gòu)。然后,我們介紹了 Keras,并通過(guò)示例訓(xùn)練了簡(jiǎn)單線性回歸模型,介紹了如何利用 Keras 訓(xùn)練全連接網(wǎng)絡(luò)識(shí)別手寫數(shù)字。

到此這篇關(guān)于Python-OpenCV深度學(xué)習(xí)入門示例詳解的文章就介紹到這了,更多相關(guān)Python OpenCV深度學(xué)習(xí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù)

    詳解如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù)

    在日常的Web開(kāi)發(fā)中,處理表單數(shù)據(jù)是一個(gè)常見(jiàn)的任務(wù),而XML是一種常用的數(shù)據(jù)格式,用于在不同的系統(tǒng)之間傳遞和存儲(chǔ)數(shù)據(jù),本文通過(guò)闡述一個(gè)技術(shù)問(wèn)題并給出解答的方式,介紹如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù),需要的朋友可以參考下
    2023-09-09
  • 解決Tensorflow使用pip安裝后沒(méi)有model目錄的問(wèn)題

    解決Tensorflow使用pip安裝后沒(méi)有model目錄的問(wèn)題

    今天小編就為大家分享一篇解決Tensorflow使用pip安裝后沒(méi)有model目錄的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 在Python中使用Mako模版庫(kù)的簡(jiǎn)單教程

    在Python中使用Mako模版庫(kù)的簡(jiǎn)單教程

    這篇文章主要介紹了在Python中使用Mako模版庫(kù)的簡(jiǎn)單教程,包括在Django或者Tornado框架中集成Mako的方法,需要的朋友可以參考下
    2015-04-04
  • python3.6使用urllib完成下載的實(shí)例

    python3.6使用urllib完成下載的實(shí)例

    今天小編就為大家分享一篇python3.6使用urllib完成下載的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python實(shí)現(xiàn)視頻轉(zhuǎn)換為字符畫詳解

    Python實(shí)現(xiàn)視頻轉(zhuǎn)換為字符畫詳解

    這篇文章主要介紹了如何通過(guò)Python實(shí)現(xiàn)讀取視頻并將其轉(zhuǎn)換為字符畫的示例代碼,文中講解詳細(xì),對(duì)我們的學(xué)習(xí)和工作有一點(diǎn)的價(jià)值,感興趣的小伙伴可以了解一下
    2021-12-12
  • python讀取hdfs上的parquet文件方式

    python讀取hdfs上的parquet文件方式

    這篇文章主要介紹了python讀取hdfs上的parquet文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python3安裝pip工具的詳細(xì)步驟

    Python3安裝pip工具的詳細(xì)步驟

    這篇文章主要介紹了Python3安裝pip工具的詳細(xì)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python無(wú)法用requests獲取網(wǎng)頁(yè)源碼的解決方法

    Python無(wú)法用requests獲取網(wǎng)頁(yè)源碼的解決方法

    爬蟲獲取信息,很多時(shí)候是需要從網(wǎng)頁(yè)源碼中獲取鏈接信息的,下面這篇文章主要給大家介紹了關(guān)于Python無(wú)法用requests獲取網(wǎng)頁(yè)源碼的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Python裝飾器的執(zhí)行過(guò)程實(shí)例分析

    Python裝飾器的執(zhí)行過(guò)程實(shí)例分析

    這篇文章主要介紹了Python裝飾器的執(zhí)行過(guò)程,結(jié)合實(shí)例形式分析了Python裝飾器的原理、執(zhí)行過(guò)程及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • python自動(dòng)化測(cè)試selenium定位frame及iframe示例

    python自動(dòng)化測(cè)試selenium定位frame及iframe示例

    這篇文章主要為大家介紹了python自動(dòng)化測(cè)試selenium定位frame及iframe示例的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11

最新評(píng)論