主頁 >  其他 > 2021微信大資料挑戰賽總結(微信視頻號推薦)

2021微信大資料挑戰賽總結(微信視頻號推薦)

2021-08-19 07:11:34 其他

賽程持續大概了兩個多月的時間,從臨近畢業到作業,算是學生時代最后一個比賽吧,遺憾的是成績并不是很理想,最后只拿到了國二,到了復賽階段又是被迫solo的局面,復賽期間體會到了在職人員的不易,白天上班,晚上熬夜打比賽,真的太難了┭┮﹏┭┮,最后,做為學生時代的“終點”,還是在此記錄下比賽程序中學習到的知識,感謝周周星的分享以及大佬們無私的開源,努力向前排優秀選手學習,

此次賽題:GitHub地址
作者:Wisley
郵箱:903953316@qq.com
GitHub:個人主頁

😄😘😇

  • 一、賽題描述w
    • 1、資料
    • 2、評價指標
    • 3、其他說明
  • 二、初賽方案
    • 1、訓練框架
    • 2、模型結構
      • (1) PinSage
      • (2)RGCN
      • (3)Cross Net mix
    • 3、特征構建
      • 1. Target Encode
      • 2. 稀疏特征
      • 3、embding★
  • 三、復賽方案
    • 1、有效嘗試
    • 2、無效嘗試
  • 四、賽后思考
  • 參考文獻

一、賽題描述w

此次比賽基于脫敏和采樣后的資料資訊,對于給定的一定數量到訪過微信視頻號“熱門推薦”的用戶, 根據這些用戶在視頻號內的歷史n天的行為資料,通過演算法在測驗集上預測出這些用戶對于不同視頻內容的互動行為(包括點贊、點擊頭像、收藏、轉發等)的發生概率, 本次比賽以多個行為預測結果的加權uAUC值進行評分,

1、資料

資料主要包含兩個表,feed_info表與user_action表,詳細介紹說明可以查看這里,

  • feed_info.csv
    Feed資訊表包含了視頻(簡稱feed)的基本資訊,如authorid(視頻號作者ID)、bgm_song_id(背景音樂ID),以及manual_keyword_list(人工標注關鍵詞)等基本ID資訊,同時還包括了脫敏的文本資訊(比如視頻描述),以及音頻資訊asr、影像識別資訊ocr等均以脫敏的字串數字表示,同時賽方額外提供了融合了ocrasr、影像、文字的多模態的內容理解特征向量,特征維度為512維,
  • user_action.csv
    用戶行為表包含了用戶在視頻號內一段時間內的歷史行為資料(包括停留時長、播放時長和各項互動資料),該表的用戶對應資料按照時間戳順序由小到大排列,表中已提供了用戶點擊行為的標簽,

user action表中主要有七種點擊行為,其中初賽的最終分數為4個行為(查看評論、點贊、點擊頭像、轉發)的uAUC值的加權平均,復賽的最終分數為7個行為(查看評論、點贊、點擊頭像、轉發、收藏、評論和關注)的uAUC值的加權平均,

2、評價指標

本次比賽采用uAUC作為單個行為預測結果的評估指標,uAUC定義為不同用戶下AUC的平均值,計算公式如下:
u A U C = 1 n ∑ i = 1 n A U C i u A U C=\frac{1}{n} \sum_{i=1}^{n} A U C_{i} uAUC=n1?i=1n?AUCi?
其中,n為測驗集中的有效用戶數,有效用戶指的是對于某個待預測的行為,過濾掉測驗集中全是正樣本或全是負樣本的用戶后剩下的用戶,AUCi為第i個有效用戶的預測結果的AUC(Area Under Curve),
從計算公式可以看出,我們只針對每個用戶的AUC計算并取平均,那么整體排序上,不同用戶的行為相互是不受影響的,同時由于是AUC的計算,所以結果與預測概率大小也無關,只與該用戶行為預測的排序有關,

3、其他說明

  1. 比賽全程不允許使用外部資料集,
  2. 允許使用開源的詞典、embedding和預訓練模型,以上資料和模型需在2021/07/12日期前開源,且需通過郵件的形式向組委會報備開源鏈接地址和md5,
  3. 復賽階段允許使用初賽階段的資料集,

二、初賽方案

初賽主要基于deep_ctr[1]的框架進行的,其中,隊友近西使用lightgbm機器學習方法,對feed表與action進行特征工程后,將特征送入lgb訓練預測,隊友kitty是借鑒baseline的深度學習方法,采用deepfm模型將連續特征、離散特征、以及可變長特征(序列文本特征)送入模型預測,兩個隊友的方案都是單任務預測,最后匯總成多任務的,這部分隊友的作業不過多介紹,主要介紹下筆者初賽的方案和思路,

1、訓練框架

由于賽題是個多標簽預測任務,考慮到復賽會在更大規模的資料上進行,所以一開始便沒有采用單任務預測的方式,而是采用了多標簽預測的方案,模型在最后的輸出層使用MMOE進行多任務輸出,

在訓練框架的設計上,受GNN異構圖的構建啟發,筆者單獨建立了user表feed表,其中user表用于存放用戶側的相關特征,feed表用于存放視頻側的相關特征,兩個表用字典的方式進行存盤,特征名作為key進行索引,我們對feedid按照順序從0開始重新編碼為feedid_node,每個特征的排序按照重新編碼后的順序排列,因此只要知道feedid_node的編號以及特征key,就能取出該feed對應的特征,同理userid也重新編碼為了userid_node,我們在構建完兩個特征表后,在build模型時,將其放到GPU上,而在模型前向傳播時,只需將feedid_nodeuserid_node送進去,根據id來索引對應的特征,將其拼接即可,這樣就大大降低了記憶體開銷,普通的訓練方式是將特征與user action行為表進行拼接,以Sequence batch的方式送入模型訓練,這樣記憶體占用的大小與action的大小以及user與feed特征維度數有關,而我們采取的方式,只與user的數量與feed數量與維度有關,與action的大小無關,由于本賽題的useridfeedid是固定數量的(測驗集的userid一定出現在訓練集中,可能出現的feed賽方已全部給出),所以這樣的方式將原本需要的 a*(di+ui) 的記憶體空間,縮減到只需要 u*ui+d*di 大小的記憶體空間,其中a表示用戶行為數,d表示feed數量,u表示user數量,di表示feed特征維度,ui表示user特征維度,除此之外,對于嵌入特征,可以只保存對應序列id,在模型通過模型內部的embedding矩陣來得到特征向量,可以大大縮減記憶體和顯存的占用,在初賽階段,我們4096的batcsize 顯存占用也只有5g,且顯存占用大小與batchsize大小無關,
在這里插入圖片描述

特征表建立與訓練部分示例代碼如下:

#構建feed表與user表
feed_data={}
user_data={}
#feed
feed_data['dense']=torch.from_numpy(feeds[dense_features].values.astype('float32'))
feed_data['hash_dense']=torch.from_numpy(np.hstack([dense_arry1,dense_arry2,dense_arry4,dense_arry3]).astype('float32'))
# user 
user_feats=['userid','device']
for f in user_feats:
    user_info[f]=user_info[f].fillna(0)
    
for f in ['device']:
    gens=LabelEncoder()
    user_info[f]=gens.fit_transform(user_info[f])
    user_data[f]=torch.from_numpy(user_info[f].values)   
# 放到GPU上
for f,d in user_data.items():
    user_data[f]=d.to(torch.device('cuda'))
    
for f,d in feed_data.items():
    feed_data[f]=d.to(torch.device('cuda'))
#訓練
batch_size=4096
src=train_ratings['userid'].apply(lambda x: userid2nid[x]).values
dst=train_ratings['feedid'].apply(lambda x: feedid2nid[x]).values
for ind in tqdm(range(0,n_pos//batch_size+1)):
     batch=batch_index[ind*batch_size:(ind+1)*batch_size]
     batch_src=src[batch] # user node
     batch_dst=dst[batch] # feed node
     logits = model(batch_src,batch_dst)

2、模型結構

由于筆者在校期間,自研過一些GNN相關知識,而最近GNN在推薦領域也是炒的熱火朝天,所以在比賽初期一直想嘗試使用GNN 的一些模型,這部分模型是基于DGL實作的,

(1) PinSage

PinSage是斯坦福和Pinterest公司合作提出的工業級GCN推薦系統,并將其應用在了Pinterest上,PinSage模型使用隨機游走和圖卷積來捕獲圖結構的特征以及節點的特征,以生成節點的嵌入表示,該演算法的特點在于通過采樣節點的鄰居并動態地從采樣鄰居構建計算圖,實作了有效的區域的卷積,從而在訓練時不需要在整張圖上進行操作,這里我們可以對user節點的feed鄰居進行采樣,來構建feed節點的子圖,采樣方式同樣是選擇隨機游走的方式,
在這里插入圖片描述

關于GCN部分 筆者嘗試了GAT、GraphSAGE等 效果都不理想,嘗試將學到的node embedding與原始特征的embedding進行合并,通過DNN輸出,有比較大的提升,但是線上分數只有0.63左右,后來發現不使用GNN中的embedding反倒分數更高,遂放棄了這個方案,pinsage代碼參考

(2)RGCN

在PinSage中,采用二部圖進行構圖,這本身可以當作一個異質的圖神經網路,而不同任務關系就是異質的邊關系,因此筆者又嘗試構建異質圖神經網路,并利用RGCN作為圖卷積進行訊息聚合,對于不同的邊關系(比賽中我們用不同的點擊任務構建邊),都有一組可學習的引數矩陣對應(圖卷積),異構圖RGCN的代碼可以參考DGL官方手冊示例代碼,如下:

import dgl.nn as dglnn

class RGCN(nn.Module):
    def __init__(self, in_feats, hid_feats, out_feats, rel_names):
        super().__init__()

        self.conv1 = dglnn.HeteroGraphConv({
            rel: dglnn.GraphConv(in_feats, hid_feats)
            for rel in rel_names}, aggregate='sum')
        self.conv2 = dglnn.HeteroGraphConv({
            rel: dglnn.GraphConv(hid_feats, out_feats)
            for rel in rel_names}, aggregate='sum')

    def forward(self, graph, inputs):
        # inputs are features of nodes
        h = self.conv1(graph, inputs)
        h = {k: F.relu(v) for k, v in h.items()}
        h = self.conv2(graph, h)
        return h

經過實驗發現,對于比賽資料,將與用戶互動的商品作為邊,比以點擊任務作為邊關系效果要好,另外對于卷積操作,普通的圖卷積也要優于其他卷積操作,相比Pinsage,異質RGCN的表現要更好,初賽分數能達到0.65左右,經過進一步的調參和特征優化,可以達到0.66左右的分數,但是后續的一周時間里筆者卻始終沒有繼續上分了,所以不得已,還是把注意力放在了傳統NN方法上,

(3)Cross Net mix

在不同的業務場景下,CTR任務更多是依賴細致的特征工程,一般來說,最簡單的線性模型就是將原始特征進行組合變換,它非常容易理解并且容易擴展,但是表達能力有限,而有效的組合特征通常需要人工不斷的探索與嘗試,NN方法,則是為了代替費時費力的手工特征,讓模型自動探索和組合高階特征,現有的很多成熟且有效的NN模型,如Deepfm、DIN、AutoInt,都是嘗試從不同的方面來提高特征的表達能力,使模型能更有效地挖掘離散、連續、文本序列等特征的組合,理論上,DNN能夠在特定平滑假設下以任意的精度逼近任意函式,而在實際中大多數函式并不是任意的,所以DNN能夠利用可行的引數量達到很好的效果,通過DNN能夠對離散和序列等特征的Embedding向量以及非線性激活函式學習到高階的特征組合,并且殘差網路使得我們能夠訓練很深的網路,然而隱式的學習了所有的特征組合,對于模型效果和學習效率可能并不都是有利的,而且缺乏一定的可解釋性,所以FM和FFM 提出了顯式去構造特征的二階或者更高階的組合,但是淺層的結構反而限制了特征的表達能力,更高階的擴展則產生了大量額外的計算開銷,并且在比賽中,很多有效的特征組合往往都是低階的,因此,作者提出了一種高效的方式進行顯性的特征組合,Cross Network
在這里插入圖片描述
每一層的神經元數量都相同而且等于輸入向量 X 0 X_0 X0?的維度,每一層都有如下公式所示(都是列向量),其中函式 f f f擬合的是 X l + 1 X_{l+1} Xl+1?? X l X_l Xl?的殘差,進一步
X l + 1 = X 0 X l T W l + B l + X l = f ( X l , W l , B l ) + X l X_{l+1}=X_{0} X_{l}^{T} W_{l}+B_{l}+X_{l}=f\left(X_{l}, W_{l}, B_{l}\right)+X_{l} Xl+1?=X0?XlT?Wl?+Bl?+Xl?=f(Xl?,Wl?,Bl?)+Xl?
相比DNN,交叉網路顯示地構建了交叉項,且引數量要小很多,同時每一層就是特征的一次交叉組合,模型更具有可解釋性,進一步,受MOE結構啟發DCN-M模型對DCN進行了改進,將W變成引數矩陣,將矩陣分解至多個子空間,隨后通過門控機制來對這些子空間進行融合,其有效地學習顯式和隱式特征交叉,使模型高效、簡單的同時,增強了表達能力,如下圖所示,
在這里插入圖片描述
在比賽中,我們將稀疏特征與連續特征以及embedding特征拼接后,送入cross net,專家數默認4,交叉網路層數4,最后與DNN的輸出拼接,經過一層線性層輸出,線上能達到0.669左右的成績,相比于之前GNN的表現都要好很多,在deep_ctr中可以直接呼叫:

CrossNetMix(128*3+64,layer_num=4)

筆者通過消融實驗,對比deepfm,在相同特征的情況下,cross network相比deepfm有將近一個百的提升,

3、特征構建

這里簡單列舉下比較有用的特征,一些原始特征輸入不過多解釋,

1. Target Encode

對feedid、authorid、userid等或進行組合,通過滑窗(前N天)計算label的均值作為編碼后的特征,(詳細可在代碼中查看)

2. 稀疏特征

maunual_keyword_list等序列特征取其中的id作為稀疏特征,或者使用tfidf+svd得到embdding,

3、embding★

這個特征算是整個比賽中的強特了,發現前排很多隊伍都是靠這個上分的,類似GNN的思想,通過groupby userid得到feedid序列,當作句子來訓練w2v,得到feedid的embedding,這里嘗試了分任務embedding,效果遠沒有直接把所有互動做embedding好,我們認為,比賽方提供的資料可能是已經粗排后的結果,給用戶曝光的feed其實在一定程度上表現了用戶一定的喜好趨勢,同時如果分任務做emb也會造成資訊泄露的問題,這里的embedding可以嘗試多種的組合,對feedid和userid都可以做,如果顯存不夠的話可以用svd分解來降維,通過一些實驗我們發現最有用的還是通過userid對feedid的emb,同時我們還嘗試了deepwalk和node2vec的方式,和groupby的方式差別不大,

三、復賽方案

復賽由于資料量是初賽的10倍,所以大多數選手的主要作業是如何在有限的記憶體下來復現初賽的方案,筆者初賽時考慮了復賽的情況,所以并不需要對原本的方案欄位外的改動,在統計特征方面,由于測驗集不可見,所以在做特征的時候,保存了訓練集的統計特征分布,用于推斷時提供給測驗集,在不做任何優化改進時,復賽第一次提交就有0.695的分數,

1、有效嘗試

1、feedid emb 的改進,采用sg 和hs 模式分別訓練emb最后進行拼接,
2、通過計算相關系數,發現有些任務比較相關,可以采用共享線性層的方式,
3、DNN層使用BNdropout 增加模型的泛化能力
4、訓練上采用 lookahead+admw ,兩個epoch即可,
5、 借鑒DIN的結構,增加user的行為序列輸入,通過attention pool得到興趣feed的emb,(這部分可以構建一個新的模型,但是最后分數和cross network是差不多的,可以作為最后的多模融合,詳細可以參考deep_ctr中的代碼以及筆者git上的代碼),也有前排選手是借鑒transform的結構來做,并取得了不錯的效果,但是筆者使用tansformer的效果非常差,等后面開源了可以學習下大佬是怎么做的,

2、無效嘗試

1、對action表進行負采樣(負樣本的定義有多種,但是都不太理想),由于線上資料是非常寶貴的,雖然存在噪聲的可能,但是我們沒有一個有效的判斷噪聲的方法,所以如無必要,盡量用全量資料訓練是最好的,
2、userid 的embedding,這部分的做法和feedid的emb是一樣的,但是效果并不明顯,在初賽還有降分的跡象,
3、增加ple層,PLE號稱是比MMOE在多任務上有更好的表現,筆者基于torch實作了ple層,線下確實有一點點提升,但是線上結果和mmoe是差不多的,引數量卻更大,所以最后放棄了這個方案,
4、 增加各類特征embedding的維度,增加dnn層數、expert數等,均無法提升,反而會有過擬合的風險,

四、賽后思考

(1)在初賽時,統計特征、目標編碼等方式,對分數有較為明顯的提升,但是在復賽階段,這部分卻沒那么重要,筆者在復賽時,意外發現,即使去除所有互動的統計特征,只保留embedding特征,模型依然能達到相當甚至更好的分數
(2)根據現在已開源的前排方法,筆者分析主要差距是沒有對emb做進一步深入嘗試,對其他id做emb+svd以及對文本特征做tfidf+svd 會有微妙的效果,我們在一些長文本特征上采用截斷的方式也不是很合理,不同特征組合也會相互影響,同時發現在復賽階段,統計特征可能對模型預測還會有一定的副作用,但是沒有進一步去研究和實驗,
(3)賽后思考了下,為什么幾種GNN的建模都不理想,我們使用的都是訊息傳遞的框架,賽方給的主要是feed側的特征,那么不管是user node還是feed node 基本都是由feed emb的資訊傳遞產生的,而有的user互動非常少,有的user互動feed特別多,這種不平衡是否會影響節點的表達? 另外GNN本身就存在過平滑的問題,最近的研究發現,GCN中的線性變換會加速模型的退化,是否我們可以簡單地只構建一層GCN 進行資訊聚合? 本次雖然在最后比賽中并沒有使用GNN模型,但是通過groupby userid 對feedid預訓練和GNN有異曲同工的作用,而這部分的提升是非常大的,這說明GNN 的結構是非常值得借鑒的,那么實作一個端到端的GNN+DNN的模型,是否會比預訓練+dnn的形式要更好更優雅,
(4) 本題用戶的行為序列并未表現出很強的時序性,雖然資料按照用戶的點擊時間進行了排序,但是當使用時序模型如LSTM去提取深度特征時,表現并不好,筆者認為,對于視頻推薦的用戶主體,點擊事件不太受視頻的曝光序列影響,它與推薦不同,并沒有表現出很強的時序性,比如:上個星期我喜歡并點贊的視頻,大概率這星期還會喜歡(但推薦曝光的視頻會根據短期的用戶興趣進行推薦),

以上是筆者自己的一些思考和猜想,歡迎讀者討論發表有趣的觀點一起討論,
在此再次感謝前人無私的開源與分享,我們是站在巨人的肩膀才看的更高更遠!


參考文獻

【1】DeepCTR: Easy-to-use,Modular and Extendible package of deep-learning based CTR models ,Weichen Shen
【2】 「【Paper】Deep & Cross Network for Ad Click Predictions - 一只背影 - 博客園」- https://www.cnblogs.com/cling-cling/p/9922766.html
【3】 「深度特征工程:[google]DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning_knight的博客-CSDN博客」- https://blog.csdn.net/u012852385/article/details/109197384
【4】 「Deep and Cross Network原理及實作 Andante」- https://nirvanada.github.io/2017/12/14/DCN/
【5】 「deepctr.models.dcnmix module — DeepCTR 0.8.7 documentation」- https://deepctr-doc.readthedocs.io/en/latest/deepctr.models.dcnmix.html

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294665.html

標籤:其他

上一篇:分布式搜索引擎ElasticSearch(六)--- Java API 操作ES

下一篇:Hive中的多維分析函式

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more