PyTorch问题记录
PyTorch 中torch.nn. 与torch.nn.function.的区别今天我在定义一个卷积网络的过程中,发现nn.Conv2d与nn.functional.conv2d看似都是相同的。
12345class DogCat_Net(nn.Module): def __init__(self): super(Dog_Cat,self).__init__() self.conv1 = nn.Conv2d(3, 16, kernel_size = 7,dilation = 2) self.conv1 = nn.functional.conv2d(3, 16, kernel_size = 7,dilation = 2)
类似的还有很多,在卷积,激活,池化等操作中,nn.Conv2d与nn.functional.conv2d均很相似。
通过查看PyTorch的文档发现,例如torch.nn.Conv2d是一个类
torch.nn.functional.conv2d则更像一个函数:
简而言之:
nn.Conv2d可以理解为一个Clas ...
PyTorch实现回归
实现回归线性回归首先是一些基础包的导入
123456789101112131415161718import randomimport matplotlib.pyplot as pltimport torch as timport seaborn as sns#sns.set()可以设置绘图格式sns.set()sns.set_context("notebook", rc={"font.size":16,"axes.titlesize":20,"axes.labelsize":18})CB91_Blue = '#2CBDFE'CB91_Green = '#47DBCD'CB91_Pink = '#F3A0F2'CB91_Purple = '#9D2EC5'CB91_Violet = '#661D98'CB91_Amber = '#F5B14C'color_list = [ ...
Love record
Hey, password is required here.
31b7cb2a7c7982cff28957aa72a68a3a7994bdf6fa32e17a6fa2199db2d3fba9f48ee64f80fef4d6bcf105cb54948aaf3e11dc0e9e0b1bcb4e67b1469611c581e21236eadd925bc0250682670c9d24313f857baa435309b86cbd4192079eb15bb263d7ef29c728143297d740cdcc6b96bc2fb2b10559a799bb567b140adebc5ed6524f64541dfbd558db25ff0b37a127ef2353caae53499ba76d7da0049d61e8631687ffbfeea018ca0ba3c0837bd5dd55c4ba74a994dc0e52896a56e182122c54e1eb83b215132fd49b57311952fa14ff45704308355e882ed2fc8c017d5a3 ...
Machine learning
RegressionLinear regression(线性回归)问题的导入:预测神奇宝贝进化后的战斗力(CP)值
输入:进化前神奇宝贝A的CP值,种类,血量(HP),重量(Weight),高度(Height)
输出:进化后神奇宝贝A的CP值
机器学习的主要步骤:step 1:Model(确定模型)
step 2:Goodless of function(确定损失函数)
step 3:Best function(找到最好的函数)
$\S $Model在这里,根据常理推测,神奇宝贝进化后的CP值和进化前的CP值有较大的关系,故我们可以假设进化前的CP值与进化后的CP值呈线性关系。
设神奇宝贝进化前的CP值为$x_{cp}$,进化后的CP值为$y$,则可建立以下线性关系:
y=b+wx_{cp} \tag 1在这里我们仅考虑了神奇宝贝进化前的CP值这一特征,如果神奇宝贝影响进化后的CP值的不止这一特征,若有n个特征,那么我们可将$x_{cp}$推广到$x_i$,于是便可得到Linear model(线性模型):
\begin{cases}
y=b+\sum_i^nw_ix_i\ ...
OpenCV 基础操作
图像上的算术运算图像融合
图像融合即也是图像加法,但它是对每个图像乘以相应的权重,使其具有融合或透明的感觉。根据以下等式进行运算。
G(x)=(1-\alpha)f_1(x)+\alpha f_2(x),\quad \alpha\in[0,1]
f(x)可作为输入的图像,则上式可变为:
dst=\beta\cdot img_1+\alpha\cdot img_2+\gamma\\
\beta+\alpha=1
在OpenCV中进行图像融合的函数为cv.addWeighted(img1,$\beta$,img2,$\alpha,\gamma$),其有四个参数,img1与img2分别为输入的图像,$\beta,\alpha$分别为各自图像融合时所占的权重,一般情况下$\gamma$为0。
以下为测试代码:
1234567891011121314151617181920import cv2 as cvimport numpy as npimport matplotlib.pyplot as pltimg1=cv.imread(r'D:\Python\image_process ...