中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

小微型企業(yè)網(wǎng)站建立/市場(chǎng)營(yíng)銷是做什么的

小微型企業(yè)網(wǎng)站建立,市場(chǎng)營(yíng)銷是做什么的,網(wǎng)站設(shè)計(jì)個(gè)人心得,全國(guó)建筑市場(chǎng)監(jiān)管平臺(tái)目錄 一、前言二、Numpy概述三、生成Numpy數(shù)組3.1 從已有數(shù)據(jù)中創(chuàng)建數(shù)組3.2 利用random模塊生成數(shù)組3.3 創(chuàng)建特定形狀的多維數(shù)組3.4 利用arange和linspace函數(shù)生成數(shù)組 四、獲取元素五、Numpy的算術(shù)運(yùn)算5.1 對(duì)應(yīng)元素相乘5.2 點(diǎn)積運(yùn)算 六、后記 本文的目標(biāo)受眾: 對(duì)機(jī)…

目錄

  • 一、前言
  • 二、Numpy概述
  • 三、生成Numpy數(shù)組
    • 3.1 從已有數(shù)據(jù)中創(chuàng)建數(shù)組
    • 3.2 利用random模塊生成數(shù)組
    • 3.3 創(chuàng)建特定形狀的多維數(shù)組
    • 3.4 利用arange和linspace函數(shù)生成數(shù)組
  • 四、獲取元素
  • 五、Numpy的算術(shù)運(yùn)算
    • 5.1 對(duì)應(yīng)元素相乘
    • 5.2 點(diǎn)積運(yùn)算
  • 六、后記


本文的目標(biāo)受眾
對(duì)機(jī)器學(xué)習(xí)、深度學(xué)習(xí)感興趣的同學(xué)或從業(yè)人員,和對(duì)Python、PyTorch、TensorFlow等感興趣并希望能再提升一下自己技術(shù)的相關(guān)人員。

一、前言

??人工智能時(shí)代,人工智能的核心就是深度學(xué)習(xí)。但目前深度學(xué)習(xí)的框架有很多,像TensorFlow、PyTorchFastAI等等,它們都各有各的優(yōu)缺點(diǎn)。那該選擇什么框架進(jìn)行深度學(xué)習(xí)的快速入門(mén)呢
??如果你是個(gè)小白,或是和我一樣因?yàn)闀r(shí)間所迫沒(méi)工夫全部學(xué)完再開(kāi)始動(dòng)手,那么我建議選擇PyTorch。在有了一定的基礎(chǔ)之后,我們可以學(xué)習(xí)一些其他的架構(gòu),比如TensorFlowCNTK等。
?? 為什么首推PyTorch呢? 原因有以下幾點(diǎn):
??(1)PyTorch需要手動(dòng)定義網(wǎng)絡(luò)層、參數(shù)更新等關(guān)鍵的步驟 ,這非常有助于幫助我們快速理解深度學(xué)習(xí)的核心。而Keras框架雖然也非常簡(jiǎn)單且容易上手,但封裝粒度很粗隱藏了很多關(guān)鍵步驟,往往我們搭完了神經(jīng)網(wǎng)絡(luò)對(duì)整個(gè)的流程還一知半解。
??(2)PyTorch是動(dòng)態(tài)計(jì)算圖,其用法更貼近 Python。并且,PyTorch 與 Python共用了許多Numpy的命令,可以降低學(xué)習(xí)的門(mén)檻,比 TensorFlow更容易上手。
??(3)PyTorch的動(dòng)態(tài)圖機(jī)制在調(diào)試方面非常方便如果計(jì)算圖運(yùn)行出錯(cuò),馬上可以跟蹤問(wèn)題。PyTorch的調(diào)試與Python的調(diào)試一樣,通過(guò)斷點(diǎn)檢查就可以高效解決問(wèn)題。
??其余還有開(kāi)源項(xiàng)目多插件適配等優(yōu)點(diǎn),不一一列舉了。
??前文回顧:[數(shù)據(jù)分析大全]基于Python的數(shù)據(jù)分析大全——Numpy基礎(chǔ)
??下面繼續(xù)開(kāi)始本文的Numpy部分相關(guān)講解


二、Numpy概述

??在機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中,圖像、聲音、文本等輸入數(shù)據(jù)最終都要轉(zhuǎn)換為數(shù)組或矩陣。如何有效地進(jìn)行數(shù)組和矩陣的運(yùn)算?這就需要充分利用Numpy。
?? 為什么是Numpy?實(shí)際上,Python本身含有列表(list)和數(shù)組(array),但對(duì)于大數(shù)據(jù)來(lái)說(shuō),這些結(jié)構(gòu)是有很多不足。由于列表的元素可以是任何對(duì)象,因此列表中所保存的是對(duì)象的指針。例如為了保存一個(gè)簡(jiǎn)單的[1,2,3],都需要有3個(gè)指針和3個(gè)整數(shù)對(duì)象。對(duì)于數(shù)值運(yùn)算來(lái)說(shuō),這種結(jié)構(gòu)顯然比較浪費(fèi)內(nèi)存和 CPU等寶貴資源。
??至于array對(duì)象,它可以直接保存數(shù)值,和C語(yǔ)言的一維數(shù)組比較類似。但是由于它不支持多維,在上面的函數(shù)也不多,因此也不適合做數(shù)值運(yùn)算。
??Numpy是數(shù)據(jù)科學(xué)的通用語(yǔ)言,而且與PyTorch關(guān)系非常密切,它是科學(xué)計(jì)算、深度學(xué)習(xí)的基石。


三、生成Numpy數(shù)組

??Numpy是 Python 的外部庫(kù)不在標(biāo)準(zhǔn)庫(kù)中。因此,若要使用它,需要先導(dǎo)入Numpy

import numpy as np

??導(dǎo)入 Numpy后,可通過(guò)np.+Tab鍵查看可使用的函數(shù),如果對(duì)其中一些函數(shù)的使用不是很清楚,還可以在對(duì)應(yīng)函數(shù)+?,再運(yùn)行,就可以很方便地看到如何使用函數(shù)的幫助信息。
??輸入np.然后按Tab鍵,將出現(xiàn)如下界面:
請(qǐng)?zhí)砑訄D片描述
??運(yùn)行如下命令,便可查看函數(shù)abs的詳細(xì)幫助信息。

np.abs?

??Numpy 不但強(qiáng)大,而且還非常友好。下面將介紹Numpy的一些常用方法,尤其是與機(jī)器學(xué)習(xí)、深度學(xué)習(xí)相關(guān)的一些內(nèi)容。
??Numpy封裝了一個(gè)新的數(shù)據(jù)類型 ndarray (N-dimensional Array),它是一個(gè)多維數(shù)組對(duì)象。該對(duì)象封裝了許多常用的數(shù)學(xué)運(yùn)算函數(shù),方便我們做數(shù)據(jù)處理、數(shù)據(jù)分析等。
??那么,如何生成ndarray呢
??這里介紹生成ndarray的幾種方式,如從已有數(shù)據(jù)中創(chuàng)建利用random創(chuàng)建創(chuàng)建特定形狀的多維數(shù)組利用arange、linspace函數(shù)生成等。


3.1 從已有數(shù)據(jù)中創(chuàng)建數(shù)組

??直接對(duì) Python的基礎(chǔ)數(shù)據(jù)類型(如列表、元組等)進(jìn)行轉(zhuǎn)換來(lái)生成 ndarray :
??(1)將列表轉(zhuǎn)換成 ndarray :

import numpy as np
lstl =[3.14,2.17,0,1,2]
ndl = np.array(lst1)
print(ndl)
# [3.142.17 0. 1. 2. ]
print(type(ndl))
# <class 'nurmpy.ndarray'>

??(2)嵌套列表可以轉(zhuǎn)換成多維 ndarray :

import numpy as np
lst2 = [[3.14,2.1701,2],[1,23,4,5]]
nd2 = np.array(lst2)
print(nd2)
# [[3.14 2.17 0. 1. 2. ]
# [1. 2. 3. 4. 5. ]]
print(type(nd2))
# <class " numpy.ndarray' >

??如果把上面示例中的列表?yè)Q成元組,也同樣適用。


3.2 利用random模塊生成數(shù)組

??在深度學(xué)習(xí)中,我們經(jīng)常需要對(duì)一些參數(shù)進(jìn)行初始化,因此為了更有效地訓(xùn)練模型,提高模型的性能。有些初始化還需要滿足一定的條件,如滿足正態(tài)分布均勻分布等。
??這里介紹了幾種常用的方法,如下表所示,列舉了np.random模塊常用的函數(shù)

函數(shù)描述
np.random.random生成0到1之間的隨機(jī)數(shù)
np.random.uniform生成均勻分布的隨機(jī)數(shù)
np.random.randn生成標(biāo)準(zhǔn)正態(tài)的隨機(jī)數(shù)
np.random.randint生成隨機(jī)的整數(shù)
np.random.normal生成正態(tài)分布
np.random.shuffle隨機(jī)打亂順序
np.random.seed設(shè)置隨機(jī)數(shù)種子
random_sample生成隨機(jī)的浮點(diǎn)數(shù)

??下面來(lái)看一些函數(shù)的具體使用

import numpy as npnd3 =np.random.random([3,3])
print (nd3)
#[[0.43007219 0.87135582 0.45327073]
# [0.7929617 0.06584697 0.82896613]
# [0.62518386 0.70709239 0.75959122]]
print("nd3的形狀為:",nd3.shape)
# nd3的形狀為:(3,3)

??為了每次生成同一份數(shù)據(jù),可以指定一個(gè)隨機(jī)種子使用shuffle函數(shù)打亂生成的隨機(jī)數(shù)。

import numpy as np
np.random.seed(123)
nd4 = np.random.randn(2,3)
print(nd4)
np.random.shuffle(nd4)
print("隨機(jī)打亂后數(shù)據(jù):")print (nd4)
print(type(nd4))

??輸出結(jié)果:

[[-1.0856306 0.99734545  0.2829785][-1.50629471 -0.57860025 1.65143654]]

??隨機(jī)打亂后數(shù)據(jù):

[[-1.50629471 -0.57860025 1.65143654][-1.0856306 0.99734545 0.2829785]]

3.3 創(chuàng)建特定形狀的多維數(shù)組

??參數(shù)初始化時(shí),有時(shí)需要生成一些特殊矩陣,如全是0或1的數(shù)組或矩陣,這時(shí)我們可以利用np.zerosnp.ones、np.diag來(lái)實(shí)現(xiàn),如下表所示:

函數(shù)描述
np.zeros((3,4))創(chuàng)建3×4的元素全為0的數(shù)組
np.ones((3,4))創(chuàng)建3×4的元素全為1的數(shù)組
np.empty( (2,3))創(chuàng)建2×3的空數(shù)組,空數(shù)據(jù)中的值并不為0,而是未初始化的垃圾值
np.zeros_like(ndarr)以 ndarr相同維度創(chuàng)建元素全為0數(shù)組
np.ones_like(ndarr)以ndarr相同維度創(chuàng)建元素全為1數(shù)組
np.empty_like(ndarr)以ndarr相同維度創(chuàng)建空數(shù)組
np.eye(5)該函數(shù)用于創(chuàng)建一個(gè)5×5的矩陣,對(duì)角線為1,其余為0
np.full((3,5),666)創(chuàng)建3×5的元素全為666的數(shù)組,666為指定值

??下面通過(guò)幾個(gè)示例說(shuō)明:

import numpy as np
# 生成全是0的3x3矩陣
nd5 = np.zeros([3,3])
#生成與nd5形狀一樣的全0矩陣
#np .zeros_like(nd5)
#生成全是1的3x3矩陣
nd6 = np. ones([3,3])
#生成3階的單位矩陣
nd7 = np.eye(3)
#生成3階對(duì)角矩陣
nd8 = np.diag([1,2,3])
print(nd5)
#[[O. 0. 0.]
# [0. 0. 0.]
# [0. 0. 0.]]
print(nd6)
#[[1. 1. 1.]
# [1. 1. 1.]
# [1. 1. 1.]]
print(nd7)
#[[1. 0. 0.]
# [0. 1. 0.]
# [0. 0. 1.]]
print(nd8)
# [[1 0 0]
# [0 2 0]
# [0 0 3]]

??有時(shí)還可能需要把生成的數(shù)據(jù)暫時(shí)保存起來(lái),以備后續(xù)使用。

import numpy as npnd9 =np.random.random([5,5])
np.savetxt(×=nd9, fname='./testl.txt')
nd10 = np.loadtxt('./test1.txt ')
print(ndl0)

??輸出結(jié)果:

[[0.41092437 0.5796943 0.13995076 0.40101756 0.62731701]
[0.32415089 0.24475928 0.69475518 0.5939024 0.63179202]
[0.44025718 0.08372648 0.71233018 0.42786349 0.2977805]
[0.49208478 0.74029639.0.35772892 0.41720995 0.65472131]
[0.37380143 0.23451288 0.98799529 0.76599595 0.77700444]]

3.4 利用arange和linspace函數(shù)生成數(shù)組

??arange是numpy模塊中的函數(shù),其格式為:

arange([start,]stop[,step,],dtype=None)

??其中,start與 stop 用來(lái)指定范圍,step用來(lái)設(shè)定步長(zhǎng)。在生成一個(gè)ndarray時(shí),start 默認(rèn)為0步長(zhǎng) step 可為小數(shù)。Python有個(gè)內(nèi)置函數(shù)range,其功能與此類似。

import numpy as npprint(np.arange (10))
#[0 1 2 3 4 5 6 7 8 9]
print(np.arange(0,10))
#[0 1 2 3 4 5 6 7 8 9]
print(np.arange(1,4,0.5))
#[ 1. 1.5 2. 2.5 3. 3.5]
print(np.arange(9,-1,-1))
#[9 8 7 6 5 4 3 2 1 0]

??linspace也是numpy模塊中常用的函數(shù),其格式為:

np.linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None)

??linspace可以根據(jù)輸入的指定數(shù)據(jù)范圍以及等份數(shù)量,自動(dòng)生成一個(gè)線性等分向量。
??其中, endpoint(包含終點(diǎn))默認(rèn)為T(mén)rue,等分?jǐn)?shù)量num默認(rèn)為50。如果將retstep設(shè)置為T(mén)rue,則會(huì)返回一個(gè)帶步長(zhǎng)的ndarray

import numpy as np
print (np .linspace(0,1,10))
#[0. 0.11111111 0.222222220.33333333 0.44444444 0.55555556 0.666666670.77777778 0.88888889 1. ]

??值得一提的是,這里并沒(méi)有像我們預(yù)期的那樣,生成0.1,0.2,…1.0這樣步長(zhǎng)為0.1的ndarray這是因?yàn)閘inspace必定會(huì)包含數(shù)據(jù)起點(diǎn)和終點(diǎn),那么其步長(zhǎng)則為(1-0) /9 =0.11111111。如果需要產(chǎn)生0.1,0.2…,1.0這樣的數(shù)據(jù),只需要將數(shù)據(jù)起點(diǎn)0修改為0.1即可。
??除了上面介紹到的arangelinspaceNumpy還提供了logspace函數(shù)該函數(shù)的使用方法與linspace的使用方法一樣,讀者不妨自己動(dòng)手試一下。


四、獲取元素

??第三節(jié)中我們了解了生成ndarray的幾種方法。那在數(shù)據(jù)生成后,如何讀取我們所需要的數(shù)據(jù)呢?接下來(lái)將介紹幾種常用獲取數(shù)據(jù)的方法。

import numpy as np
np.random.seed(2019)
nd11 = np.random.random([10])
#獲取指定位置的數(shù)據(jù),獲取第4個(gè)元素
ndl1[3]
#截取一段數(shù)據(jù)
ndl1[3:6]
#截取固定間隔數(shù)據(jù)
ndl1[1:6:2]
#倒序取數(shù)nd11[::-2]
#截取一個(gè)多維數(shù)組的一個(gè)區(qū)域內(nèi)數(shù)據(jù)
ndl2=np.arange(25).reshape([5,5])
nd12[1:3,1:3]
#截取一個(gè)多維數(shù)組中,數(shù)值在一個(gè)值域之內(nèi)的數(shù)據(jù)ndl2[(ndl2>3)&(ndl2<10)]
#截取多維數(shù)組中,指定的行,如讀取第2,3行
nd12[[1,2]]        #或nd12[1:3,:]
#截取多維數(shù)組中,指定的列,如讀取第2,3列
nd12[:,1:3]

??如果對(duì)上面這些獲取方式還不是很清楚,沒(méi)關(guān)系,下面則將通過(guò)圖形的方式來(lái)進(jìn)一步說(shuō)明,如下圖所示:
??左邊為表達(dá)式,右邊為表達(dá)式獲取的元素。注意,不同的邊界,表示不同的表達(dá)式。
在這里插入圖片描述
??獲取數(shù)組中的部分元素除了通過(guò)指定索引標(biāo)簽來(lái)實(shí)現(xiàn)外,還可以通過(guò)使用一些函數(shù)來(lái)實(shí)現(xiàn),如通過(guò)random.choice函數(shù)從指定的樣本中隨機(jī)抽取數(shù)據(jù)。

import numpy as np
from numpy import random as nr
a=np.arange(1,25,dtype=float)
cl=nr.choice(a,size=(3,4)) 
#size指定輸出數(shù)組形狀
c2=nr.choice(a,size=(3,4), replace=False) 
#replace缺省為T(mén)rue,即可重復(fù)抽取
#下式中參數(shù)p指定每個(gè)元素對(duì)應(yīng)的抽取概率,缺省為每個(gè)元素被抽取的概率相同。
3=nr.choice(a,size=(3,4),p=a/np.sum(a))
print("隨機(jī)可重復(fù)抽取")
print(c1)
print("隨機(jī)但不重復(fù)抽取")
print(c2)
print("隨機(jī)但按制度概率抽取")
print(c3)

??打印結(jié)果:

# 隨機(jī)可重復(fù)抽取
[[7. 22. 19. 21.]
[ 7. 5. 5. 5. ]
[7. 9.22. 12.]]
# 隨機(jī)但不重復(fù)抽取
[[21. 9. 15. 4.]
[23. 2. 3. 7.]
[13. 5. 6. 1.]]
# 隨機(jī)但按制度概率抽取
[[15. 19. 24. 8.]
[5. 22. 5. 14.]
22. 13. 17. 1]

五、Numpy的算術(shù)運(yùn)算

??在機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中,涉及大量的數(shù)組或矩陣運(yùn)算,本節(jié)我們將重點(diǎn)介紹兩種常用的運(yùn)算。一種是對(duì)應(yīng)元素相乘,又稱為逐元乘法 (Element-Wise Product),運(yùn)算符為np.multiply( ),或*。另一種是點(diǎn)積或內(nèi)積元素,運(yùn)算符為np.dot( )


5.1 對(duì)應(yīng)元素相乘

??對(duì)應(yīng)元素相乘(Element-Wise Product)是兩個(gè)矩陣中對(duì)應(yīng)元素乘積。np.multiply函數(shù)用于數(shù)組或矩陣對(duì)應(yīng)元素相乘,輸出與相乘數(shù)組或矩陣的大小一致,其格式如下:

numpy.multiply(x1,,x2,/,out=None,*,where=True,casting='same_kind',order='K',dtype-None,subok=True[,signature,extobj])

??其中x1、x2之間的對(duì)應(yīng)元素相乘遵守廣播規(guī)則,Numpy的廣播規(guī)則會(huì)在下一篇文章——Numpy基礎(chǔ)(下)中介紹。以下我們通過(guò)一些示例來(lái)進(jìn)一步說(shuō)明。

A=np.array([[l,2][-l,4]])
B=np.array([[2,0],[3,4]])
A*B
# 結(jié)果如下:
array([[2,0],[-316]])
# 或另一種表示方法np.multiply(A,B)#運(yùn)算結(jié)果也是
array([[2,0],[-3,16]])

??矩陣A和B的對(duì)應(yīng)元素相乘,由下圖直觀表示。
在這里插入圖片描述
??Numpy數(shù)組不僅可以和數(shù)組進(jìn)行對(duì)應(yīng)元素相乘,還可以和單一數(shù)值(或稱為標(biāo)量)進(jìn)行運(yùn)算。運(yùn)算時(shí),Numpy數(shù)組中的每個(gè)元素都和標(biāo)量進(jìn)行運(yùn)算,其間會(huì)用到廣播機(jī)制(下一篇文章中將會(huì)詳細(xì)講解)。

print (A*2.0)print(A/2.0)

??輸出結(jié)果為:

[ [2. 4.]
[-2. 8.]]
[[0.5 1]
[-0.5 2. ]]

??由此,推廣后,數(shù)組通過(guò)一些激活函數(shù)后,輸出與輸入形狀一致。

X=np.random.rand(2,3)
def softmoid(x):return 1/(1+np.exp(-x))
def relu(x):return np.maximum(0,x)
def softmax(x) :return np.exp(x)/np.sum(np.exp(X))print("輸入?yún)?shù)x的形狀:",X.shape)
print("激活函數(shù)softmoid輸出形狀:",softmoid(x) .shape)
print("激活函數(shù)relu輸出形狀:", relu(X).shape)
print("激活函數(shù)softmax輸出形狀:",softmax(X).shape)

??輸出結(jié)果:

輸入?yún)?shù)x的形狀:(23)
激活函數(shù)softmoid輸出形狀:(2,3)
激活函數(shù)relu輸出形狀:(2,3)
激活函數(shù)softmax輸出形狀:(23)

5.2 點(diǎn)積運(yùn)算

??點(diǎn)積運(yùn)算(Dot Product)又稱為內(nèi)積,在 Numpy用np.dot表示,其一般格式為:

numpy.dot(a,b,out=None)

??以下通過(guò)一個(gè)示例來(lái)說(shuō)明dot的具體使用方法及注意事項(xiàng)。

X1=np.array([[1,2],[3,4]])
x2=np.array([[56,7],[8,9,10]])
x3=np.dot(X1,X2)
print(X3)

??輸出結(jié)果:

[[21 2427][47 5461]]

??以上運(yùn)算,可用下圖表示。
在這里插入圖片描述
??在上圖中,矩陣X1和矩陣X2進(jìn)行點(diǎn)積運(yùn)算,其中X1和X2對(duì)應(yīng)維度(即X1的第2個(gè)維度與X2的第1個(gè)維度)的元素個(gè)數(shù)必須保持一致。此外,矩陣X3的形狀是由矩陣XI的行數(shù)與矩陣X2的列數(shù)構(gòu)成的。


六、后記

??本篇文章主要講解了Numpy概述、生成Numpy數(shù)組、獲取元素和Numpy的算術(shù)運(yùn)算的內(nèi)容。因?yàn)橐獙?xiě)的內(nèi)容太多,就拆為上下篇了。這幾天會(huì)把Numpy基礎(chǔ)的下篇也放出來(lái)的。
??感謝各位讀者朋友們長(zhǎng)期以往的支持!非常感謝!!!

http://www.risenshineclean.com/news/198.html

相關(guān)文章:

  • 網(wǎng)站開(kāi)發(fā)的功能需求怎么寫(xiě)/shopify seo
  • 釘釘在線課堂/大連seo建站
  • 濰坊網(wǎng)站建設(shè)價(jià)格/一個(gè)好的產(chǎn)品怎么推廣
  • 域名做違法網(wǎng)站/西安百度競(jìng)價(jià)托管代運(yùn)營(yíng)
  • 招聘網(wǎng)站開(kāi)發(fā)價(jià)格/福州整站優(yōu)化
  • 德清縣城鄉(xiāng)建設(shè)局網(wǎng)站/微信朋友圈軟文大全
  • 網(wǎng)站建設(shè)公司做銷售好不好?/國(guó)內(nèi)最新新聞
  • 商業(yè)平臺(tái)網(wǎng)站開(kāi)發(fā)/凡科網(wǎng)建站系統(tǒng)源碼
  • 蘇州專業(yè)做網(wǎng)站的公司/網(wǎng)站開(kāi)發(fā)北京公司
  • 北京微網(wǎng)站制作/深圳競(jìng)價(jià)托管公司
  • 網(wǎng)站建設(shè)拾金手指下拉二十/百度排行榜風(fēng)云榜小說(shuō)
  • 國(guó)家新聞出版署是什么機(jī)構(gòu)/揚(yáng)州seo博客
  • 重慶人才招聘網(wǎng)官網(wǎng)/重慶seo
  • 西安做網(wǎng)站南通公司/谷歌瀏覽器網(wǎng)頁(yè)版進(jìn)入
  • led網(wǎng)站建設(shè)方案模板/成人本科報(bào)考官網(wǎng)
  • 互聯(lián)網(wǎng)網(wǎng)站建設(shè)制作/長(zhǎng)沙百度推廣開(kāi)戶
  • 中山網(wǎng)站制作公司/網(wǎng)站建設(shè)首頁(yè)
  • 品牌建設(shè)的路徑/網(wǎng)站排名優(yōu)化查詢
  • 江蘇今天剛剛的最新新聞/seo網(wǎng)站優(yōu)化報(bào)價(jià)
  • 中海建筑建設(shè)有限公司網(wǎng)站/seo排名賺app下載
  • 建湖做網(wǎng)站哪家公司好/seo排名優(yōu)化推廣報(bào)價(jià)
  • wordpress添加主題設(shè)置選項(xiàng)/搜索引擎優(yōu)化是指
  • 洛陽(yáng)市App網(wǎng)站開(kāi)發(fā)公司/挖掘愛(ài)站網(wǎng)
  • 廉江新聞最新消息/南京百度seo
  • 百度seo排名點(diǎn)擊/廣州網(wǎng)站快速優(yōu)化排名
  • 旅游網(wǎng)站開(kāi)發(fā)需求分析目的/軟文寫(xiě)作是什么意思
  • 網(wǎng)站怎么做關(guān)鍵詞優(yōu)化/數(shù)據(jù)統(tǒng)計(jì)網(wǎng)站有哪些
  • 上海網(wǎng)站建設(shè)培訓(xùn)班/網(wǎng)站推廣培訓(xùn)
  • 模板式網(wǎng)站建設(shè)/市場(chǎng)監(jiān)督管理局投訴電話
  • b站黃頁(yè)推廣2023更新/電腦版百度網(wǎng)盤(pán)