主頁 >  其他 > 實際應用效果不佳?來看看提升深度神經網路泛化能力的核心技術(附代碼)

實際應用效果不佳?來看看提升深度神經網路泛化能力的核心技術(附代碼)

2022-11-03 06:59:56 其他

?? 作者:韓信子@ShowMeAI
?? 深度學習實戰系列:https://www.showmeai.tech/tutorials/42
?? 本文地址:https://www.showmeai.tech/article-detail/317
?? 宣告:著作權所有,轉載請聯系平臺與作者并注明出處
?? 收藏ShowMeAI查看更多精彩內容

神經網路是一種由神經元、層、權重和偏差組合而成的特殊機器學習模型,隨著近些年深度學習的高速發展,神經網路已被廣泛用于進行預測和商業決策并大放異彩,

神經網路之所以廣受追捧,是因為它們能夠在學習能力和性能方面遠遠超過任何傳統的機器學習演算法, 現代包含大量層和數十億引數的網路可以輕松學習掌味訓聯網海量資料下的模式和規律,并精準預測,

隨著AI生態和各種神經網路工具庫(Keras、Tensorflow 和 Pytorch 等)的發展,搭建神經網路擬合資料變得非常容易,但很多時候,在用于學習的訓練資料上表現良好的模型,在新的資料上卻效果不佳,這是模型陷入了『過擬合』的問題中了,在本篇內容中,ShowMeAI將給大家梳理幫助深度神經網路緩解過擬合提高泛化能力的方法,

?? 資料增強

?? 技術介紹

緩解過擬合最直接的方法是增加資料量,在資料量有限的情況下可以采用資料增強技術, 資料增強是從現有訓練樣本中構建新樣本的程序,例如在計算機視覺中,我們會為卷積神經網路擴增訓練影像,

具體體現在計算機視覺中,我們可以對影像進行變換處理得到新突破,例如位置和顏色調整是常見的轉換技術,常見的影像處理還包括——縮放、裁剪、翻轉、填充、旋轉和平移,

?? 手動資料處理&增強

我們可以基于PIL庫手動對影像處理得到新影像以擴增樣本量

from PIL import Image
import matplotlib.pyplot as plt
img = Image.open("/content/drive/MyDrive/cat.jpg")
flipped_img = img.transpose(Image.FLIP_LEFT_RIGHT) ### 翻轉
roated_img = img.transpose(Image.ROTATE_90) ## 旋轉
scaled_img = img.resize((400, 400))  ### 影像縮放
cropped_img = img.crop((100,50,400,200)) # 裁剪
# 顏色變換
width, height = img.size
pad_pixel = 20
canvas = Image.new(img.mode, (width+pad_pixel, height+pad_pixel), 'blue')
canvas.paste(img, (pad_pixel//2,pad_pixel//2))

顏色增強處理通過改變影像的像素值來改變影像的顏色屬性,更細一點講,可以通過改變亮度、對比度、飽和度、色調、灰度、膨脹等來處理,

from PIL import Image, ImageEnhance
import matplotlib.pyplot as plt
img = Image.open("/content/drive/MyDrive/cat.jpg")
enhancer = ImageEnhance.Brightness(img)
img2 = enhancer.enhance(1.5)  ## 更亮
img3 = enhancer.enhance(0.5)  ## 更暗 
imageenhancer = ImageEnhance.Contrast(img)
img4 = enhancer.enhance(1.5) ## 提升對比度
img5 = enhancer.enhance(0.5) ## 降低對比度
enhancer = ImageEnhance.Sharpness(img)
img6 = enhancer.enhance(5) ## 銳化

雖然可以通過使用像 pillow 和 OpenCV 這樣的影像處理庫來手動執行影像增強,但更簡單且耗時更少的方法是使用 ??Keras API 來完成,

關于keras的核心知識,ShowMeAI為其制作了速查手冊,歡迎大家通過如下文章快查快用:

  • AI垂直領域工具庫速查表 | Keras 速查表

Keras 是一個用 Python 撰寫的深度學習 API,可以運行在機器學習平臺 Tensorflow 之上, Keras 有許多可提高實驗速度的內置方法和類, 在 Keras 中,我們有一個 ??ImageDataGenerator類,它為影像增強提供了多個選項,

keras.preprocessing.image.ImageDataGenerator()

??引數

  • featurewise_center: 布林值,將輸入資料的均值設定為 0,逐特征進行,
  • samplewise_center: 布林值,將每個樣本的均值設定為 0,
  • featurewise_std_normalization: Boolean. 布林值,將輸入除以資料標準差,逐特征進行,
  • samplewise_std_normalization: 布林值,將每個輸入除以其標準差,
  • zca_epsilon: ZCA 白化的 epsilon 值,默認為 1e-6,
  • zca_whitening: 布林值,是否應用 ZCA 白化,
  • rotation_range: 整數,隨機旋轉的度數范圍,
  • width_shift_range: 浮點數、一維陣列或整數
    • float: 如果 <1,則是除以總寬度的值,或者如果 >=1,則為像素值,
    • 1-D 陣列: 陣列中的隨機元素,
    • int: 來自間隔 (-width_shift_range, +width_shift_range) 之間的整數個像素,
    • width_shift_range=2 時,可能值是整數 [-1, 0, +1],與 width_shift_range=[-1, 0, +1] 相同;而 width_shift_range=1.0 時,可能值是 [-1.0, +1.0) 之間的浮點數,
  • height_shift_range: 浮點數、一維陣列或整數
    • float: 如果 <1,則是除以總寬度的值,或者如果 >=1,則為像素值,
    • 1-D array-like: 陣列中的隨機元素,
    • int: 來自間隔 (-height_shift_range, +height_shift_range) 之間的整數個像素,
    • height_shift_range=2 時,可能值是整數 [-1, 0, +1],與 height_shift_range=[-1, 0, +1] 相同;而 height_shift_range=1.0 時,可能值是 [-1.0, +1.0) 之間的浮點數,
  • shear_range: 浮點數,剪切強度(以弧度逆時針方向剪切角度),
  • zoom_range: 浮點數 或 [lower, upper],隨機縮放范圍,如果是浮點數,[lower, upper] = [1-zoom_range, 1+zoom_range]
  • channel_shift_range: 浮點數,隨機通道轉換的范圍,
  • fill_mode: {"constant", "nearest", "reflect" or "wrap"} 之一,默認為 'nearest',輸入邊界以外的點根據給定的模式填充,
  • cval: 浮點數或整數,用于邊界之外的點的值,當 fill_mode = "constant" 時,
  • horizontal_flip: 布林值,隨機水平翻轉,
  • vertical_flip: 布林值,隨機垂直翻轉,
  • rescale: 重縮放因子,默認為 None,如果是 None 或 0,不進行縮放,否則將資料乘以所提供的值(在應用任何其他轉換之前),
  • preprocessing_function: 應用于每個輸入的函式,這個函式會在任何其他改變之前運行,這個函式需要一個引數:一張影像(秩為 3 的 Numpy 張量),并且應該輸出一個同尺寸的 Numpy 張量,
  • data_format: 影像資料格式,{"channels_first", "channels_last"} 之一,"channels_last" 模式表示影像輸入尺寸應該為 (samples, height, width, channels),"channels_first" 模式表示輸入尺寸應該為 (samples, channels, height, width),默認為 在 Keras 組態檔 ~/.keras/keras.json 中的 image_data_format 值,如果你從未設定它,那它就是 "channels_last",
  • validation_split: 浮點數,Float. 保留用于驗證的影像的比例(嚴格在0和1之間),
  • dtype: 生成陣列使用的資料型別,

?? 基于 TensorFlow 的資料增強

如果要基于 TensorFlow 實作資料增強,示例代碼如下:

from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img

datagen = ImageDataGenerator(
        rotation_range=40,
        width_shift_range=0.2,
        height_shift_range=0.2,
        brightness_range= [0.5, 1.5],
        rescale=1./255,
        shear_range=0.2,
        zoom_range=0.4,
        horizontal_flip=True,
        fill_mode='nearest',
        zca_epsilon=True)

path = '/content/drive/MyDrive/cat.jpg' ## Image Path
img = load_img(f"{path}")
x = img_to_array(img)
x = x.reshape((1,) + x.shape)
i = 0

### 基于資料增強構建25張圖片并存入aug_img檔案夾
for batch in datagen.flow(x, batch_size=1, save_to_dir="/content/drive/MyDrive/aug_imgs", save_prefix='img', save_format='jpeg'):
    i += 1
    if i > 25:
        break 

?? Dropout 隨機失活

關于隨機失活的詳細原理知識,大家可以查看ShowMeAI制作的深度學習系列教程和對應文章

  • 深度學習教程:吳恩達專項課程 · 全套筆記解讀

  • 深度學習教程 | 深度學習的實用層面

  • 深度學習與計算機視覺教程:斯坦福CS231n · 全套筆記解讀

  • 深度學習與CV教程(7) | 神經網路訓練技巧 (下)

?? 技術介紹

Dropout 層是解決深度神經網路中過度擬合的最常用方法, 它通過動態調整網路來減少過擬合的概率,

Dropout 層 隨機 在訓練階段以概率rate隨機將輸入單元丟棄(可以認為是對輸入置0),未置0的輸入按 1/(1 - rate) 放大,以使所有輸入的總和保持不變,

丟棄率rate 是主要引數,范圍從 0 到 1,0.5 的rate取值意味著 50% 的神經元在訓練階段從網路中隨機丟棄,

TensorFlow中的dropout使用方式如下

tf.keras.layers.Dropout(rate, noise_shape=None, seed=None)

??引數

  • rate: 在 0 和 1 之間浮動,丟棄概率,
  • noise_shape:1D 整數張量,表示將與輸入相乘的二進制 dropout 掩碼的形狀,
  • seed: 隨機種子,

?? 基于TensorFlow應用Dropout

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense,Reshape
from tensorflow.keras.layers import Dropout

def create_model():
  model = Sequential()
  model.add(Dense(60, input_shape=(60,), activation='relu'))
  model.add(Dropout(0.2))
  model.add(Dense(30, activation='relu'))
  model.add(Dropout(0.2))
  model.add(Dense(1, activation='sigmoid'))
  return model
  
adam = tf.keras.optimizers.Adam()
model.compile(loss='binary_crossentropy', optimizer=adam, metrics=['accuracy'])

model = create_model()
model.summary()

在向神經網路添加 dropout 層時,有一些技巧大家可以了解一下:

  • 一般會使用 20%-50% 的小的 dropout 值,太大的 dropout 值可能會降低模型性能,同時選擇非常小的值不會對網路產生太大影響,
  • 一般在大型網路中會使用dropout層以獲得最大性能,
  • 輸入層和隱層上都可以使用 dropout,表現都良好,

?? L1 和 L2 正則化

關于正則化的詳細原理知識,大家可以查看ShowMeAI制作的深度學習系列教程和對應文章

  • 深度學習教程:吳恩達專項課程 · 全套筆記解讀

  • 深度學習教程 | 深度學習的實用層面

  • 深度學習與計算機視覺教程:斯坦福CS231n · 全套筆記解讀

  • 深度學習與CV教程(7) | 神經網路訓練技巧 (下)

?? 技術介紹

正則化是一種通過懲罰損失函式來降低網路復雜性的技術, 它為損失函式添加了一個額外的權重約束部分,它在模型過于復雜的時候會進行懲罰(高loss),簡單地說,正則化限制權重幅度過大,

L1 正則化的公式如下:

L2 正則化公式如下:

?? 基于TensorFlow應用正則化

在TensorFlow搭建神經網路時,我們可以直接在添加對應的層次時,通過引數設定添加正則化項,

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense,Reshape
from tensorflow.keras.layers import Dropout

def create_model():
  # 構建模型
  model = Sequential()
  # 添加正則化
  model.add(Dense(60, input_shape=(60,), activation='relu',  kernel_regularizer=keras.regularizers.l1(0.01)))
  model.add(Dropout(0.2))
  # 添加正則化
  model.add(Dense(30, activation='relu',  kernel_regularizer=keras.regularizers.l2(0.001)))
  model.add(Dropout(0.2))
  model.add(Dense(1, activation='sigmoid'))
  return model


adam = tf.keras.optimizers.Adam()
model.compile(loss='binary_crossentropy', optimizer=adam, metrics=['accuracy'])

model = create_model()
model.summary()

?? Early Stopping / 早停止

?? 技術介紹

在深度學習中,一個 epoch指的是完整訓練資料進行一輪的訓練,迭代輪次epoch的多少對于模型的狀態影響很大:如果我們的 epoch 設定太大,訓練時間越長,也更可能導致模型過擬合;但過少的epoch可能會導致模型欠擬合,

Early stopping早停止是一種判斷迭代輪次的技術,它會觀察驗證集上的模型效果,一旦模型性能在驗證集上停止改進,就會停止訓練程序,它也經常被使用來緩解模型過擬合,

?? 基于TensorFlow應用Early stopping

Keras 有一個回呼函式,可以直接完成early stopping,

from tensorflow.keras.callbacks import EarlyStopping
early_stopping = EarlyStopping(
    monitor='val_loss',
    min_delta=0,
    patience=0,
    verbose=0,
    mode='auto',
    baseline=None,
    restore_best_weights=False
)

??引數

  • monitor: 被監測的資料,
  • min_delta: 在被監測的資料中被認為是提升的最小變化, 例如,小于 min_delta 的絕對變化會被認為沒有提升,
  • patience: 沒有進步的訓練輪數,在這之后訓練就會被停止,
  • verbose: 詳細資訊模式,
  • mode: {auto, min, max} 其中之一, 在 min 模式中, 當被監測的資料停止下降,訓練就會停止;在 max 模式中,當被監測的資料停止上升,訓練就會停止;在 auto 模式中,方向會自動從被監測的資料的名字中判斷出來,
  • baseline: 要監控的數量的基準值, 如果模型沒有顯示基準的改善,訓練將停止,
  • restore_best_weights: 是否從具有監測數量的最佳值的時期恢復模型權重, 如果為 False,則使用在訓練的最后一步獲得的模型權重,
from tensorflow.keras.callbacks import EarlyStoppingearly_stopping = EarlyStopping(monitor='loss', patience=2)history = model.fit(
    X_train,
    y_train,
    epochs= 100,
    validation_split= 0.20,
    batch_size= 50,
    verbose= "auto",
    callbacks= [early_stopping]
)

?? 總結

ShowMeAI在本篇內容中,對緩解過擬合的技術做了介紹和應用講解,大家可以在實踐中選擇和使用,『資料增強』技術將通過構建和擴增樣本集來緩解模型過擬合,dropout 層通過隨機丟棄一些神經元來降低網路復雜性,正則化技術將懲罰網路訓練得到的大幅度的權重,early stopping 會防止網路過度訓練和學習,

參考資料

  • ?? Keras:https://keras.io/
  • ?? ImageDataGenerator:https://keras.io/zh/preprocessing/image/
  • ?? AI垂直領域工具庫速查表 | Keras 速查表:https://www.showmeai.tech/article-detail/110
  • ?? 深度學習教程:吳恩達專項課程 · 全套筆記解讀:https://www.showmeai.tech/tutorials/35
  • ?? 深度學習教程 | 深度學習的實用層面:https://www.showmeai.tech/article-detail/216
  • ?? 深度學習與計算機視覺教程:斯坦福CS231n · 全套筆記解讀:https://www.showmeai.tech/tutorials/37
  • ?? 深度學習與CV教程(7) | 神經網路訓練技巧 (下):https://www.showmeai.tech/article-detail/266

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

標籤:其他

上一篇:這是你沒見過的MindSpore 2.0.0 for Windows GPU版

下一篇:掃地機器人地圖與用戶終端的同步

標籤雲
其他(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