主頁 >  其他 > 《動手學深度學習》pytorch版 第二章練習

《動手學深度學習》pytorch版 第二章練習

2022-01-28 08:10:12 其他

Dive Into Deep Learning

  • 2. 預備知識
    • 2.1 資料操作
      • 第一題
      • 第二題
    • 2.2 資料預處理
      • 第一題
    • 2.3 線性代數
      • 第一題
      • 第二題
      • 第三題
      • 第四題
      • 第五題
      • 第六題
      • 第七題
      • 第八題
    • 2.4 微積分
      • 第一題
      • 第二題
      • 第三題
      • 第四題
    • 2.5 自動微分
      • 第一題
      • 第二題
      • 第三題
      • 第四題
      • 第五題
    • 2.6 概率
      • 第一題
      • 第二題
      • 第三題
      • 第四題

(剛剛開始學習深度學習,爭取把節課的練習都記錄下來,菜雞一個,如果哪個地方有錯誤或是沒有理解到位煩請各位大佬指教)

2. 預備知識

2.1 資料操作

第一題

運行本節中的代碼,將本節中的條件陳述句X == Y更改為X < Y或X > Y,然后看看你可以得到什么樣的張量

X = torch.arange(12, dtype=torch.float32).reshape((3,4))
Y = torch.tensor([[2.0, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
X < Y, X > Y

運行結果

	(tensor([[ True, False,  True, False],
         [False, False, False, False],
         [False, False, False, False]]),
    tensor([[False, False, False, False],
         [ True,  True,  True,  True],
         [ True,  True,  True,  True]]))

第二題

用其他形狀(例如三維張量)替換廣播機制中按元素操作的兩個張量,結果是否與預期相同?

若為 (2x1x3) + (1x3x2) 則報錯

a = torch.tensor([[[1,2,3]],[[5,3,5]]])  # 2x1x3
b = torch.tensor([[[1,2],[3,5],[6,7]]])  # 1x3x2
a + b
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Input In [103], in <module>
      1 a = torch.tensor([[[1,2,3]],[[5,3,5]]])
      2 b = torch.tensor([[[1,2],[3,5],[6,7]]])
----> 3 a + b

RuntimeError: The size of tensor a (3) must match the size of tensor b (2) at non-singleton dimension 2

若為(1x2x3) + (2x1x3)

a = torch.tensor([[[1, 2, 3], [4, 5, 6]]])  # 1x2x3
b = torch.tensor([[[7, 8, 9]], [[4, 5, 6]]])  # 2x1x3
a + b

結果為(2x2x3)

tensor([[[ 8, 10, 12],
         [11, 13, 15]],

        [[ 5,  7,  9],
         [ 8, 10, 12]]])

關于廣播機制,參考pytorch官方給出的解釋:
1.每個張量至少有一個維度,
2.在迭代維度大小時,從尾隨維度開始,維度大小必須相等,其中之一為 1,或者其中之一不存在,
站內找到了<狗狗狗大王>的一篇文章解釋的非常詳細:

前提2: 按順序看兩個張量的每一個維度,x和y每個對應著的兩個維度都需要能夠匹配上,什么情況下算是匹配上了?滿足下面的條件就可以:
if 這兩個維度的大小相等
elif 某個維度 一個張量有,一個張量沒有
elif 某個維度 一個張量有,一個張量也有但大小是1

2.2 資料預處理

os.makedirs(dir_name2, exist_ok=True) 可以遞回的創建檔案夾
exist_ok引數為True時,判斷若檔案夾存在就不創建

os.path.join() 拼接檔案路徑

第一題

創建包含更多行和列的原始資料集,(1) 洗掉缺失值最多的列,(2) 將預處理后的資料集轉換為張量格式,

import os
import pandas as pd
import torch

os.makedirs(os.path.join('..', '2.1', 'data2'), exist_ok=True)
data_file = os.path.join('..', '2.1', 'data2', 'house_tiny.csv')
with open(data_file, 'w') as f:
    f.write('NumRooms,Alley,Floor,Price\n')
    f.write('NA,Pave,2,127500\n')
    f.write('2,NA,1,106000\n')
    f.write('4,NA,NA,178100\n')
    f.write('NA,NA,2,140000\n')
    f.write('NA,NA,2,152000\n')
data = pd.read_csv(data_file)
inputs, outputs = data.iloc[:, 0:3], data.iloc[:, 3]

num = inputs.isnull().sum() # 獲取缺失值最多的個數
Max_NaN = inputs.isnull().sum().idxmax()  # 獲取缺失值最多個數的索引
inputs = inputs.drop(Max_NaN, axis=1) # 在inputs里洗掉缺失值最多的項
inputs = inputs.fillna(inputs.mean()) # 用同一列的均值替換該列的缺失項
inputs = pd.get_dummies(inputs, dummy_na=True)

x, y = torch.tensor(inputs.values), torch.tensor(outputs.values)  # 轉化為張量形式

運行結果

(tensor([[3.0000, 2.0000],
         [2.0000, 1.0000],
         [4.0000, 1.7500],
         [3.0000, 2.0000],
         [3.0000, 2.0000]], dtype=torch.float64),
 tensor([127500, 106000, 178100, 140000, 152000]))

df.isnull().sum()?????? 統計每列含有多少行數的null值,回傳行數
.idxmax()?????????獲取pandas中series最大值對應的索引,
drop函式默認洗掉行,列需要加axis = 1

2.3 線性代數

第一題

證明一個矩陣 A 的轉置的轉置是 A ,即 (AT)T=A

A = torch.randn(4, 3)
A == A.T.T

運行結果

tensor([[True, True, True],
        [True, True, True],
        [True, True, True],
        [True, True, True]])

第二題

給出兩個矩陣 A 和 B ,證明“它們轉置的和”等于“它們和的轉置”,即 AT+BT=(A+B)T

A = torch.arange(12).reshape(3,4)
B = torch.randn(3,4)
A.T + B.T == (A + B).T

運行結果

tensor([[True, True, True],
        [True, True, True],
        [True, True, True],
        [True, True, True]])

第三題

給定任意方陣 A , A+AT總是對稱的嗎?為什么?

A = torch.randn(4, 4)
(A + A.T).T == (A + A.T)

運行結果

tensor([[True, True, True, True],
        [True, True, True, True],
        [True, True, True, True],
        [True, True, True, True]])

第四題

我們在本節中定義了形狀 (2,3,4) 的張量X,len(X)的輸出結果是什么?

X = torch.arange(24).reshape(2, 3, 4)
len(X)

運行結果

2

第五題

對于任意形狀的張量X,len(X)是否總是對應于X特定軸的長度?這個軸是什么?

X = torch.arange(24).reshape(2, 3, 4)  # 2x3x4張量
Y = torch.arange(24).reshape(4, 6)  # 4X6張量
Z = torch.ones(1)   # 1維張量
len(X), len(Y), len(Z)

運行結果

2  4  6

len()???回傳tensor第零維的長度

第六題

運行A / A.sum(axis=1),看看會發生什么,你能分析原因嗎?

  1. 若A為方陣
A = torch.arange(16).reshape(4, 4)  # 4X4
A / A.sum(axis=1)

運行結果

tensor([[0.0000, 0.0455, 0.0526, 0.0556],
        [0.6667, 0.2273, 0.1579, 0.1296],
        [1.3333, 0.4091, 0.2632, 0.2037],
        [2.0000, 0.5909, 0.3684, 0.2778]])
  1. 若A不為方陣
A = torch.arange(12).reshape(3, 4)  # 3X4
B = torch.arange(12).reshape(4, 3)  # 4x3
A / A.sum(axis=1)  # 或 B / B.sum(axis=1)

運行結果

RuntimeError                              Traceback (most recent call last)
Input In [78], in <module>
----> 1 A / A.sum(axis=1)

RuntimeError: The size of tensor a (4) must match the size of tensor b (3) at non-singleton dimension 1

若A為方陣,A.sum(axis=1)為沿著1軸降維,結果與A陣的長度相等,可以進行矩陣按元素的除法操作
若A不是方陣,A.sum(axis=1)為沿著1軸降維,結果與A陣的長度不相等,所以無法按元素進行運算

第七題

考慮一個具有形狀 (2,3,4) 的張量,在軸0、1、2上的求和輸出是什么形狀?

A = torch.arange(24).reshape(2,3,4)  # 2x3x4
A.sum(axis=0).shape, A.sum(axis=1).shape, A.sum(axis=2).shape

運行結果

torch.Size([3, 4])
torch.Size([2, 4])
torch.Size([2, 3])

在這里插入圖片描述

??????????????????????在軸0,1,2上求和分別為沿著z,x,y軸壓縮后的形狀

第八題

為linalg.norm函式提供3個或更多軸的張量,并觀察其輸出,對于任意形狀的張量這個函式計算得到什么?

A, B = torch.randn(2,3,4), torch.randn(3, 4)
outputs1 = torch.linalg.norm(A)  # 2x3x4張量
outputs2 = torch.linalg.norm(B)  # 3x4張量
A, B, outputs1, outputs2

運行結果

(tensor([[[ 2.1417, -1.2939, -0.0506,  0.0582],
          [ 0.9437,  0.3785, -0.0736, -0.1000],
          [-0.2323,  1.3399,  0.6603,  0.8154]],
 
         [[-0.1303, -0.4355, -0.2770,  1.8112],
          [ 0.7443, -0.1177,  0.8033,  0.0264],
          [ 0.5158, -0.1448, -0.7694, -0.5072]]]),
 tensor([[-1.1264,  0.0546,  0.4413, -0.1869],
         [-1.7601, -0.4381, -0.2288, -1.7541],
         [-0.1453,  1.0307, -0.8918,  0.7459]]),
 tensor(4.0225),
 tensor(3.2180))

相當于求L2范數,可表示張量的大小

2.4 微積分

第一題

繪制函式 y = f ( x ) = x 3 ? 1 x y=f(x)=x^{3}-\frac{1}{x} y=f(x)=x3?x1?和其在 x = 1 x=1 x=1處切線的影像,

plot(x, [x ** 3 - 1 / x, 4 * x - 4], 'x', 'f(x)', legend=['f(x)', 'Tangent line (x=1)'])

運行結果

在這里插入圖片描述

第二題

求函式 f ( x ) = 3 x 1 2 + 5 e x 2 f(x)=3x_{1}^{2}+5e^{x_{2}} f(x)=3x12?+5ex2?的梯度,

[ 6 x 1 6x_{1} 6x1?, 5 e x 2 5e^{x_{2}} 5ex2?]???分別對第一項的x1和第二項的x2求導??梯度為向量形式

第三題

函式 f ( x ) = ∥ x ∥ 2 f(x)=\left \| x \right \|_{2} f(x)=x2?的梯度是什么?

? f ( x ) ? x = ? ∥ x ∥ 2 ? x = x ∥ x ∥ 2 \frac{\partial f(x)}{\partial x}=\frac{\partial \left \| x \right \|_{2}}{\partial x}=\frac{x}{\left \| x \right \|_{2}} ?x?f(x)?=?x?x2??=x2?x?

L2范數可看成 x 2 \sqrt{x^{2}} x2 ?, 則 f ( x ) f(x) f(x)梯度為 x 2 \sqrt{x^{2}} x2 ? x x x求導: f ′ ( x ) = 2 x 2 x 2 = x x 2 = x ∥ x ∥ 2 f^{'}(x)=\frac{2x}{2\sqrt{ x^{2}}}=\frac{x}{\sqrt{x^{2}}}=\frac{x}{\left \| x \right \|_{2}} f(x)=2x2 ?2x?=x2 ?x?=x2?x?

第四題

你可以寫出函式 u = f ( x , y , z ) u=f(x,y,z) u=f(x,y,z),其中 x = x ( a , b ) x=x(a,b) x=x(a,b) y = y ( a , b ) y=y(a,b) y=y(a,b) z = z ( a , b ) z=z(a,b) z=z(a,b) 的鏈式法則嗎?

d u d a = d u d x d x d a + d u d y d y d a + d u d z d z d a \frac{du}{da}=\frac{du}{dx}\frac{dx}{da}+\frac{du}{dy}\frac{dy}{da}+\frac{du}{dz}\frac{dz}{da} dadu?=dxdu?dadx?+dydu?dady?+dzdu?dadz?
d u d b = d u d x d x d b + d u d y d y d b + d u d z d z d b \frac{du}{db}=\frac{du}{dx}\frac{dx}{db}+\frac{du}{dy}\frac{dy}{db}+\frac{du}{dz}\frac{dz}{db} dbdu?=dxdu?dbdx?+dydu?dbdy?+dzdu?dbdz?

2.5 自動微分

requires_grad是Pytorch中通用資料結構Tensor的一個屬性,用于說明當前量是否需要在計算中保留對應的梯度資訊

在這里插入圖片描述

向量x求和,相當于向量乘一個單位向量E,故求梯度后為1

第一題

為什么計算二階導數比一階導數的開銷要更大?

因為計算二階倒數需要先計算出一階導數

第二題

在運行反向傳播函式之后,立即再次運行它,看看會發生什么,

import torch

x = torch.arange(4.0, requires_grad=True)
y = 2 * torch.dot(x, x)
y.backward()
y.backward()  # 立即再執行一次反向傳播
x.grad

運行結果

RuntimeError: Trying to backward through the graph a second time, but the saved intermediate results have already been freed. Specify retain_graph=True when calling .backward() or autograd.grad() the first time.  # 在試圖第二次反向傳播時,第一次反向傳播的結果已經被釋放了

在第一次 .backward時指定retain graph=True

import torch

x = torch.arange(4.0, requires_grad=True)
y = 2 * torch.dot(x, x)
y.backward(retain_graph=True)  # 保留計算圖不被釋放
y.backward()
x.grad

運行結果

tensor([ 0.,  8., 16., 24.])

pytorch默認不能連續執行反向傳播,如需線序執行需要更新x.grad

第三題

在控制流的例子中,我們計算d關于a的導數,如果我們將變數a更改為隨機向量或矩陣,會發生什么?

import torch

def f(a):
    b = a * 2
    while b.norm() < 1000:
        b = b * 2
    if b.sum() > 0:
        c = b
    else:
        c = 100 * b
    return c

a = torch.randn(size=(2,2), requires_grad=True)  # a為2x2
d = f(a)
d.backward()

運行結果

RuntimeError: grad can be implicitly created only for scalar outputs  # 不對向量或矩陣進行反向傳播

對于非標量(向量或矩陣)來說,需要指定gradient的長度與其長度相匹配

第四題

重新設計一個求控制流梯度的例子,運行并分析結果,

import torch

def f(a):
    b = a / 2
    while b > 1:
        b = pow(a, 2)
    if b < 3:
        c = b * 2
    else:
        c = b * 3
    return c

a = torch.randn(size=(), requires_grad=True)
d = f(a)
d.backward()
a.grad == d / a

運行結果

tensor(True)

與2.5.4例子思想一致

第五題

使 f ( x ) = s i n ( x ) f(x)=sin(x) f(x)=sin(x),繪制 f ( x ) f(x) f(x) d f ( x ) d x \frac{df(x)}{dx} dxdf(x)? 的影像,其中后者不使用 f ′ ( x ) = c o s ( x ) f^{'}(x)=cos(x) f(x)=cos(x)

錯誤代碼

import torch
import matplotlib.pyplot as plt
import numpy as np
x = torch.arange(-3*np.pi, 3*np.pi, 0.1,requires_grad=True)
y = torch.sin(x)

y.sum().backward()

plt.plot(x, y, label='y=sin(x)') 
plt.plot(x, x.grad, label='dsin(x)=cos(x)') 
plt.legend(loc='upper center')
plt.show()

報錯:

RuntimeError: Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead.

不能對將要grad的張量呼叫numpy(),應用tensor.detach().numpy()來代替

錯誤代碼

y.backward()

報錯:

grad can be implicitly created only for scalar outputs

y為標量時可進行反向傳播,每一個輸入x對應一個標量輸出y*,故將 y.sum 可得到一個標量

import torch
import matplotlib.pyplot as plt
import numpy as np
x = torch.arange(-3*np.pi, 3*np.pi, 0.1,requires_grad=True)
y = torch.sin(x)

y.sum().backward()

plt.plot(x.detach(), y.detach(), label='y=sin(x)') 
plt.plot(x.detach(), x.grad, label='dsin(x)=cos(x)') 
plt.legend(loc='upper center')
plt.show()

運行結果
在這里插入圖片描述

2.6 概率

%matplotlib inline 為魔法函式: IPython有一組預先定義好的所謂的魔法函式,可以通過命令列的語法形式來訪問它們,“%”后就是魔法函式的引數
該函式的功能是內嵌繪圖,并且省掉了plt.show()

torch.cumsum(input, dim, *, dtype=None, out=None) ?? 回傳維度dim中輸入元素的累計和

第一題

進行 m=500 組實驗,每組抽取 n=10 個樣本,改變 m 和 n ,觀察和分析實驗結果,
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

增加m或增加n都會增加樣本容量,這樣會使結果更加趨向于真實的概率

第二題

給定兩個概率為 P(A) 和 P(B) 的事件,計算 P(A∪B) 和 P(A∩B) 的上限和下限,

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

第三題

假設我們有一系列隨機變數,例如 A 、 B 和 C ,其中 B 只依賴于 A ,而 C 只依賴于 B ,你能簡化聯合概率 P(A,B,C) 嗎?

馬爾可夫鏈是一組具有馬爾可夫性質的離散隨機變數的集合,具體地,對概率空間 ( ? , F , P ) (\mho ,F,\mathbb{P}) (?,F,P)內以一維可數集為指數集(index set) 的隨機變數集合 X = { X n : n > 0 } X=\left \{ X_{n}:n>0 \right \} X={Xn?:n>0},若隨機變數的取值都在可數集內: X = s i , s i ∈ s X=s_{i},s_{i}\in s X=si?,si?s ,且隨機變數的條件概率滿足如下關系: P ( X t + 1 ∣ X t , . . . , X 1 ) = P ( X t + 1 ∣ X t ) P(X_{t+1}|X_{t},...,X_{1})=P(X_{t+1}|X_{t}) P(Xt+1?Xt?,...,X1?)=P(Xt+1?Xt?)

????????????????? P ( A B C ) = P ( A ) P ( B ∣ A ) P ( C ∣ B A ) = P ( A ) P ( B ∣ A ) P ( C ∣ B ) P(ABC)=P(A)P(B|A)P(C|BA)=P(A)P(B|A)P(C|B) P(ABC)=P(A)P(BA)P(CBA)=P(A)P(BA)P(CB)

在這里插入圖片描述
見 2022版《張宇概率論與數理統計9講》P7,4.注

第四題

在 2.6.2.6節中,第一個測驗更準確,為什么不運行第一個測驗兩次,而是同時運行第一個和第二個測驗?

因為每次測驗的特征不一樣,就會導致每次測驗受不同的影響,若運行兩次第一個測驗則會造成這種影響的疊加,同時運行第一個和第二個測驗能夠很有效的抵消這種影響,

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

標籤:AI

上一篇:[Python從零到壹] 三十七.影像處理基礎篇之影像融合處理和ROI區域繪制

下一篇:2022年的第一篇程式人生。。。

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