val pattern = ".*date_time=[.*.].*job_id=([0-9]+)".r
时间: 2023-06-24 12:02:54 浏览: 174
这是 Scala 语言中的一个正则表达式,用于匹配字符串中的日期时间和任务 ID。具体来说,它使用 .* 匹配任意字符(包括空格)零次或多次,date_time= 匹配字符串 "date_time=",[.*.] 匹配任意字符(包括空格)零次或多次,job_id= 匹配字符串 "job_id=",([0-9]+) 匹配一个或多个数字,并将其作为捕获组,以便在后续代码中使用它们。可以使用该正则表达式对包含日期时间和任务 ID 的字符串进行匹配和提取。
相关问题
import numpy as np import torch import torch.nn as nn import torch.nn.functional as F import matplotlib.pyplot as plt # 定义RBF神经网络的类 class RBFNetwork(nn.Module): def __init__(self, input_size, hidden_size, output_size): super(RBFNetwork, self).__init__() # 初始化输入层,隐含层,输出层的节点数 self.input_size = input_size self.hidden_size = hidden_size self.output_size = output_size # 初始化权重矩阵和偏置向量 self.W1 = nn.Parameter(torch.randn(input_size, hidden_size)) # 输入层到隐含层的权重矩阵 self.b1 = nn.Parameter(torch.randn(hidden_size)) # 隐含层的偏置向量 self.W2 = nn.Parameter(torch.randn(hidden_size, output_size)) # 隐含层到输出层的权重矩阵 self.b2 = nn.Parameter(torch.randn(output_size)) # 输出层的偏置向量 def forward(self,x): # 前向传播过程 x = torch.from_numpy(x).float() # 将输入向量转换为张量 x = x.view(-1, self.input_size) # 调整输入向量的形状,使其与权重矩阵相匹配 h = torch.exp(-torch.cdist(x, self.W1.t()) + self.b1) # 计算隐含层的输出值,使用高斯径向基函数作为激活函数 y = F.linear(h, self.W2.t(), self.b2) # 计算输出层的输出值,使用线性函数作为激活函数 return y #定义pid控制器 class Pid(): def __init__(self, exp_val, kp, ki, kd): self.KP = kp self.KI = ki self.KD = kd self.exp_val = exp_val self.now_val = 0 self.sum_err = 0 self.now_err = 0 self.last_err = 0 def cmd_pid(self): self.last_err = self.now_err self.now_err = self.exp_val - self.now_val self.sum_err += self.now_err self.now_val = self.KP * (self.exp_val - self.now_val) \ + self.KI * self.sum_err + self.KD * (self.now_err - self.last_err) return self.now_val def err_pid(self): self.last_err = self.now_err self.now_err = self.exp_val - self.now_val self.sum_err += self.now_err self.p_err = self.exp_val - self.now_val self.i_err = self.sum_err self.d_err = self.now_err - self.last_err self.now_val = self.KP * (self.exp_val - self.now_val) \ + self.KI * self.sum_err + self.KD * (self.now_err - self.last_err) return self.p_err, self.i_err, self.d_err rbf_net = RBFNetwork(3,10,4) pid_val = [] #对pid进行初始化,目标值是1000 ,p=0.1 ,i=0.15, d=0.1 A_Pid = Pid(1000, 0.1, 0.1, 0.1) # 然后循环100次把数存进数组中去 for i in range(0, 100): input_vector = np.array(A_Pid.err_pid()) output_vector = rbf_net(input_vector) output_vector = output_vector.reshape(4,1) A_Pid = Pid(1000, output_vector[0], output_vector[1], output_vector[2]) pid_val.append(A_Pid.cmd_pid())
这段代码看起来是一个使用 RBF 神经网络实现 PID 控制的例子。其中,RBF 神经网络的参数由 `RBFNetwork` 类来定义,PID 控制器由 `Pid` 类来定义。在主函数中,先对 PID 控制器进行初始化,然后循环 100 次,每次将 PID 控制器的误差作为 RBF 神经网络的输入,得到输出后再输入回 PID 控制器中更新控制量,并将控制量存入 `pid_val` 数组中。最终 `pid_val` 数组中存储的就是经过 RBF 神经网络控制后的输出。
def auto_whiteBalance(img): b, g, r = cv2.split(img) Y = 0.299 * r + 0.587 * g + 0.114 * b Cr = 0.5 * r - 0.419 * g - 0.081 * b Cb = -0.169 * r - 0.331 * g + 0.5 * b Mr = np.mean(Cr) Mb = np.mean(Cb) Dr = np.var(Cr) Db = np.var(Cb) temp_arry = (np.abs(Cb - (Mb + Db * np.sign(Mb))) < 1.5 * Db) & ( np.abs(Cr - (1.5 * Mr + Dr * np.sign(Mr))) < 1.5 * Dr) RL = Y * temp_arry # 选取候选白点数的最亮10%确定为最终白点,并选择其前10%中的最小亮度值 # L_list = list(np.reshape(RL, (RL.shape[0] * RL.shape[1],)).astype(np.int)) L_list = list(np.reshape(RL, (RL.shape[0] * RL.shape[1],)).astype(int)) hist_list = np.zeros(256) min_val = 0 sum = 0 for val in L_list: hist_list[val] += 1 for l_val in range(255, 0, -1): sum += hist_list[l_val] if sum >= len(L_list) * 0.1: min_val = l_val break # 取最亮的前10%为最终的白点 white_index = RL < min_val RL[white_index] = 0 # 计算选取为白点的每个通道的增益 b[white_index] = 0 g[white_index] = 0 r[white_index] = 0 Y_max = np.max(RL) b_gain = Y_max / (np.sum(b) / np.sum(b > 0)) g_gain = Y_max / (np.sum(g) / np.sum(g > 0)) r_gain = Y_max / (np.sum(r) / np.sum(r > 0)) b, g, r = cv2.split(img) b = b * b_gain g = g * g_gain r = r * r_gain # 溢出处理 b[b > 255] = 255 g[g > 255] = 255 r[r > 255] = 255 res_img = cv2.merge((b, g, r)) return res_img
感谢提供代码。根据您的代码,问题可能出现在加载图像数据的部分。请确保您正确地加载了图像数据,并且可以通过`cv2.imshow()`函数显示图像。如果您遇到了无法加载图像数据的问题,请尝试检查图像路径是否正确,并确保图像文件存在。另外,确保OpenCV库已正确安装。
如果您已经确认图像数据正确加载,并且仍然遇到问题,请提供更多关于图像数据的详细信息,例如图像的尺寸和数据类型。这样我就能更好地帮助您解决问题。
阅读全文