机器学习
GuokLiu
享受当下时光,专注做好一件事
展开
-
220602-多维数组的Jaccard指数计算
计算两个多维数组的交并商原创 2022-06-02 08:25:06 · 329 阅读 · 0 评论 -
220531-超参优化HPO二维变量可视化
参考连接使用 Hyperopt 和 Plotly 可视化超参数优化Visualizing Hyperparameter Optimization with Hyperopt and Plotly — States Title源代码# plotly express不支持轮廓图,# 所以我们将使用'graph_objects'来代替。# `go.Contour`自动为我们的损失插入“z”值。fig = go.Figure( data=go.Contour( .原创 2022-05-31 09:06:25 · 557 阅读 · 0 评论 -
220526-PyTorch目标检测中的IoU计算
PyTorch 自带的IoU计算,只需提供两个检测框box1, box2的对角位置[X1, Y1, X2, Y2], [X3, Y3, X4, Y4]即可:记box1:左下坐标为[X1, Y1], 右上坐标为 [X2, Y2]记box1:左下坐标为[X3, Y3], 右上坐标为 [X4, Y4]J(A,B)=∣A∩B∣∣A∣∪∣B∣=∣A∣∩∣B∣∣A∣+∣B∣−∣A∩B∣J(A,B)=\frac{|A \cap B|}{|A| \cup |B|} = \frac{|A| \cap |B|}{.原创 2022-05-26 08:27:47 · 456 阅读 · 0 评论 -
220322-不同方法不同任务下的深度学习训练过程Train-Valid-Acc-Loss可视化
#%%import scipy.io as sioimport numpy as npimport matplotlib.pyplot as pltdef plot_curves(method, source, target, num_sam=10240, num_batch=256, num_epoch=200, top_epoch=20, ymin = -0.1, ymax=1.1, ax1=None): file = 'Exp1_balance_ok/CWRU_RMS_{}_{}.原创 2022-03-22 14:32:11 · 1480 阅读 · 0 评论 -
210316-针对类别不平衡数据集PyTorch实现每个Batch中出现所有类别及数量近似(待整理)
def prepare_dataloader(X, Y, P=None, dim='2D', batch_size=32, drop_last=True): from torch.utils.data import Dataset, DataLoader import torch import numpy as np from collections import Counter from torch.utils.data.sampler import Weighte原创 2022-03-16 14:19:21 · 2387 阅读 · 0 评论 -
220315-PyTorch中target为浮点数float时的交叉熵loss计算
Pytorch默认的交叉熵函数使用loss=(pred=浮点数, target=整数)的形式# Example of target with class indicesloss = nn.CrossEntropyLoss()input = torch.randn(3, 5, requires_grad=True)target = torch.empty(3, dtype=torch.long).random_(5)output = loss(input, target)output.back.原创 2022-03-15 14:03:55 · 2287 阅读 · 0 评论 -
220315-MultilinearMap的Numpy与Pytorch实现
import numpy as npimport torchdef multulinear_map_numpy(F, P): import numpy as np F1 = F[:,:,np.newaxis] P1 = P[:,:,np.newaxis] F2 = np.repeat(F1, P.shape[1], 2) P2 = np.repeat(P1, F.shape[1], 2).swapaxes(1,2) P3 = F2*P2 P4原创 2022-03-15 08:55:00 · 1509 阅读 · 0 评论 -
211130-Python谱图(Spectogram)分析Demo
STFT 算法对信号分段进行FFT处理, 每次处理的结果都是谱图中的一列;每段芯好的长度越短,时间轴上的精度越高,频率轴上的精度越低时间轴和频率轴的分辨率是一堆不可调和的矛盾根据傅立叶变换的不确定原理,我们不能同时获得频率和时间的高分辨率specgram() 函数第一个参数:信号的组数第二个参数:FFT的长度第三个参数:信号的采样频率overlap: 连续两块数据之间的重叠部分的长度, 该参数越接近FFT的长度,FFT运算的次数越多,时间轴上的精度越大import numpy a原创 2021-11-30 10:53:04 · 1968 阅读 · 1 评论 -
211112-多维数据分布MMD相似性计算Demo
运行结果main函数import matplotlib.pyplot as pltimport numpy as npmean1 = [0, 0]cov1 = [[5, 0], [-5, 10]] # diagonal covariancemean2 = [10, 0]cov2 = [[5, 0], [5, 10]] # diagonal covariancex1, y1 = np.random.multivariate_normal(mean1, cov1, 500..原创 2021-11-12 14:13:24 · 2165 阅读 · 0 评论 -
210817-IRLS迭代最小二乘法
Code 1:from numpy import array, diag, dot, maximum, empty, repeat, ones, sumfrom numpy.linalg import invdef IRLS(y, X, maxiter, w_init = 1, d = 0.0001, tolerance = 0.001): n,p = X.shape delta = array( repeat(d, n) ).reshape(1,n) w = repeat(1, n)..原创 2021-08-17 17:35:26 · 3369 阅读 · 3 评论