一维riemann 求解cfd初值

时间: 2023-05-10 19:03:40 浏览: 69
一维Riemann求解CFD初值是指在计算流体力学计算前,利用Riemann问题的方法计算出初始状态的数值,最终得到数值模拟结果。Riemann问题即初始状态下区域内不同介质之间的界面处,存在一个按照所处介质的初始状态时由高压到低压扩散的波。利用这个波,可以得到在这个波之前和之后所有介质的气体动力学参数,如压力、密度和速度等,从而得到计算所需的初值条件。 具体的求解过程分为以下步骤: 1. 定义初始状态:初始状态需要定义各点上气体的压力、密度和速度等参数。这些参数定义需要准确,因为初始状态决定了计算过程中的计算结果。 2. 定义Riemann问题:Riemann问题是在介质之间产生的波,是一个初始状态下介质间的界面处由高到低压扩散的波。通过定义初始状态下气体在不同介质中的初始状态,可以求出Riemann问题的解。 3. 求解Riemann问题:求解Riemann问题需要使用波的数学表达式,根据波的传播速度来计算波的位置。通过定义初始状态下气体在不同介质中的状态,可以计算出波的传播速度和波的位置。波的位置决定了不同介质之间的物理参数。 4. 计算求解后的初值:根据求解Riemann问题得到的解,可以计算不同介质之间的气体动力学参数,如压力、密度和速度等,从而得到初值条件。 5. 进行CFD计算:得到初值条件后,可以进行CFD计算。CFD计算过程中需要用到各个计算点上空气的气体动力学参数,如压力、密度和速度等,这些参数是前面通过Riemann问题求解得到的。CFD计算是求解一组偏微分方程,通过迭代得到最终的数值解。 总之,一维Riemann求解CFD初值是计算流体力学的重要步骤之一。通过求解Riemann问题,可以得到初值条件,确保CFD计算的准确性和可靠性。

相关推荐

好的,以下是使用 PINN 求解一维 Sod 问题的代码示例,注释中有详细的说明: python import tensorflow as tf import numpy as np import matplotlib.pyplot as plt # 定义问题参数 gamma = 1.4 x_left = 0.0 x_right = 1.0 t_final = 0.2 num_points = 1000 # 定义模型参数 num_hidden_layers = 4 num_neurons_per_layer = 20 learning_rate = 0.001 # 定义模型 class SodPINN(tf.keras.Model): def __init__(self, num_hidden_layers, num_neurons_per_layer): super(SodPINN, self).__init__() self.num_hidden_layers = num_hidden_layers self.num_neurons_per_layer = num_neurons_per_layer # 定义输入层 self.input_layer = tf.keras.layers.InputLayer(input_shape=(2,)) # 定义隐藏层 self.hidden_layers = [] for i in range(self.num_hidden_layers): self.hidden_layers.append(tf.keras.layers.Dense(self.num_neurons_per_layer, activation=tf.nn.tanh)) # 定义输出层 self.output_layer = tf.keras.layers.Dense(3) def call(self, inputs): x = self.input_layer(inputs) for hidden_layer in self.hidden_layers: x = hidden_layer(x) return self.output_layer(x) # 定义边界条件 def initial_value(x): rho = tf.where(x < 0.5, 1.0, 0.125) u = tf.where(x < 0.5, 0.0, 0.0) p = tf.where(x < 0.5, 1.0, 0.1) return tf.concat([rho[:, None], u[:, None], p[:, None]], axis=1) def left_boundary(x): rho = tf.ones_like(x[:, 0:1]) u = tf.zeros_like(x[:, 0:1]) p = tf.ones_like(x[:, 0:1]) return tf.concat([rho, u, p], axis=1) def right_boundary(x): rho = tf.where(x[:, 0:1] < 0.5, 1.0, 0.125) u = tf.zeros_like(x[:, 0:1]) p = tf.where(x[:, 0:1] < 0.5, 1.0, 0.1) return tf.concat([rho, u, p], axis=1) # 定义损失函数 def get_loss(model, inputs, outputs): x = inputs[:, 0:1] t = inputs[:, 1:2] rho = outputs[:, 0:1] u = outputs[:, 1:2] p = outputs[:, 2:3] # 定义物理参数 e = p / (gamma - 1) + 0.5 * rho * u ** 2 H = e + p / rho c = tf.sqrt(gamma * p / rho) M = u / c # 计算偏导数 with tf.GradientTape(persistent=True) as tape: tape.watch(inputs) tape.watch(outputs) f = model(inputs) rho_f = f[:, 0:1] u_f = f[:, 1:2] p_f = f[:, 2:3] e_f = p_f / (gamma - 1) + 0.5 * rho_f * u_f ** 2 H_f = e_f + p_f / rho_f c_f = tf.sqrt(gamma * p_f / rho_f) M_f = u_f / c_f rho_x = tape.gradient(rho, x) u_x = tape.gradient(u, x) p_x = tape.gradient(p, x) e_x = u_x * (e + p) - u * (rho * u_x + rho_x * u) + p_x H_x = (e_x + p_x) / rho + u_x * H - u * (rho * u_x + rho_x * u) / rho ** 2 * H c_x = 0.5 / c * (gamma * p_x / rho - gamma * p / rho ** 2 * rho_x) M_x = (u_x * c - u * c_x) / c ** 2 # 计算损失 loss = tf.reduce_mean((rho_f * u - rho * u_f) ** 2) \ + tf.reduce_mean((rho_f * u_f ** 2 + p_f - rho * u * (u_f + M_f / M * c_f)) ** 2) \ + tf.reduce_mean((rho_f * u_f * H_f - (e + p) * u_f + p_f * u - rho * u * H * (u_f + M_f / M * c_f)) ** 2) \ + tf.reduce_mean((rho_f * u_f * M_f - rho * u * M) ** 2) \ + tf.reduce_mean((rho_x * u - rho * u_x) ** 2) \ + tf.reduce_mean((rho_x * u_x ** 2 + p_x - rho * u * (u_x + M_x / M * c_x)) ** 2) \ + tf.reduce_mean((rho_x * u_x * H_x - (e + p) * u_x + p_x * u - rho * u * H * (u_x + M_x / M * c_x)) ** 2) \ + tf.reduce_mean((rho_x * u_x * M_x - rho * u * M) ** 2) \ + tf.reduce_mean((left_boundary(inputs) - initial_value(inputs)) ** 2) \ + tf.reduce_mean((right_boundary(inputs) - f[-num_points:, :]) ** 2) return loss # 定义训练函数 def train(model, inputs, outputs, learning_rate, num_epochs, batch_size): optimizer = tf.keras.optimizers.Adam(learning_rate=learning_rate) num_batches = int(inputs.shape[0] / batch_size) loss_history = [] for epoch in range(num_epochs): inputs, outputs = shuffle_data(inputs, outputs) epoch_loss = 0.0 for i in range(num_batches): x_batch = inputs[i*batch_size:(i+1)*batch_size, :] y_batch = outputs[i*batch_size:(i+1)*batch_size, :] with tf.GradientTape() as tape: loss = get_loss(model, x_batch, y_batch) grads = tape.gradient(loss, model.trainable_variables) optimizer.apply_gradients(zip(grads, model.trainable_variables)) epoch_loss += loss / num_batches if epoch % 10 == 0: print('Epoch {}: Loss = {}'.format(epoch, epoch_loss)) loss_history.append(epoch_loss) return loss_history # 生成输入数据 x = np.linspace(x_left, x_right, num_points) t = np.linspace(0, t_final, num_points) x_mesh, t_mesh = np.meshgrid(x, t) inputs = np.concatenate([x_mesh.reshape(-1, 1), t_mesh.reshape(-1, 1)], axis=1) # 生成初始值和边界条件 outputs = initial_value(inputs) # 训练模型 model = SodPINN(num_hidden_layers, num_neurons_per_layer) loss_history = train(model, inputs, outputs, learning_rate, num_epochs=1000, batch_size=100) # 绘制损失函数曲线 plt.plot(loss_history) plt.xlabel('Epoch') plt.ylabel('Loss') plt.show() # 可视化结果 rho = model(inputs)[:, 0].numpy().reshape(num_points, num_points) u = model(inputs)[:, 1].numpy().reshape(num_points, num_points) p = model(inputs)[:, 2].numpy().reshape(num_points, num_points) plt.figure(figsize=(10, 6)) plt.subplot(1, 3, 1) plt.imshow(rho, extent=[x_left, x_right, 0, t_final], cmap='jet') plt.colorbar() plt.xlabel('x') plt.ylabel('t') plt.title('Density') plt.subplot(1, 3, 2) plt.imshow(u, extent=[x_left, x_right, 0, t_final], cmap='jet') plt.colorbar() plt.xlabel('x') plt.ylabel('t') plt.title('Velocity') plt.subplot(1, 3, 3) plt.imshow(p, extent=[x_left, x_right, 0, t_final], cmap='jet') plt.colorbar() plt.xlabel('x') plt.ylabel('t') plt.title('Pressure') plt.tight_layout() plt.show() 需要注意的是,上述示例代码只是一个简单的 PINN 实现,可能需要根据具体问题进行修改和优化。另外,也可以结合其他方法(比如 Riemann 求解器)来进一步提升求解效果。
计算流体力学(CFD)激波是指在气体中传播的一种压缩波,它是由气体的压缩和加速引起的。激波通常出现在高速流动、喷气发动机、飞行器进出口等应用中,这些应用中需要对气体的流动进行精确的数值模拟。 激波的数学模型可以使用一组非线性偏微分方程来描述,称为欧拉方程组。该方程组包括质量守恒方程、动量守恒方程和能量守恒方程。这些方程可以用以下方式表述: $$\frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \mathbf{v})=0$$ $$\frac{\partial (\rho \mathbf{v})}{\partial t}+\nabla \cdot (\rho \mathbf{v} \mathbf{v}+p\mathbf{I})=0$$ $$\frac{\partial (\rho E)}{\partial t}+\nabla \cdot (\mathbf{v}(\rho E +p))=0$$ 其中,$\rho$ 是气体密度,$\mathbf{v}$ 是速度矢量,$p$ 是气体压力,$\mathbf{I}$ 是单位矩阵,$E$ 是气体总能量。 为了求解这些方程,可以使用数值方法,如有限体积法或有限元法。以下是使用 Python 编写的求解欧拉方程组的示例代码: python import numpy as np # 设置模拟参数 nx = 81 dx = 0.25 dt = 0.0002 gamma = 1.4 # 初始化气体状态 rho_l = 1.0 v_l = 0.0 p_l = 100000.0 rho_r = 0.125 v_r = 0.0 p_r = 10000.0 x_l = 0.5 x_r = 1.0 u = np.zeros((nx, 3)) for i in range(nx): if i < nx/2: u[i, 0] = rho_l u[i, 1] = rho_l * v_l u[i, 2] = p_l/(gamma-1) + 0.5*rho_l*v_l**2 else: u[i, 0] = rho_r u[i, 1] = rho_r * v_r u[i, 2] = p_r/(gamma-1) + 0.5*rho_r*v_r**2 # 定义守恒量到原始量的转换函数 def primitive_variables(u): rho = u[:, 0] v = u[:, 1] / rho p = (gamma-1) * (u[:, 2] - 0.5*rho*v**2) return rho, v, p # 定义原始量到守恒量的转换函数 def conservative_variables(rho, v, p): u1 = rho u2 = rho * v u3 = p/(gamma-1) + 0.5*rho*v**2 return np.array([u1, u2, u3]).T # 定义计算通量的函数 def flux(u): rho, v, p = primitive_variables(u) f1 = u[:, 1] f2 = u[:, 1]**2 / u[:, 0] + p f3 = u[:, 1]/u[:, 0] * (u[:, 2] + p) return np.array([f1, f2, f3]).T # 定义计算通量梯度的函数 def flux_gradient(u): rho, v, p = primitive_variables(u) df1_du = np.array([[0, 1, 0]]*u.shape[0]) df2_du = np.array([[-(gamma-3)/2*v**2, (3-gamma)*v, gamma-1]]*u.shape[0]).T df3_du = np.array([[gamma*v*(p/rho+(gamma-1)/2*v**2), -gamma*(p/rho+(gamma-1)*v**2), gamma*(p/rho+(gamma-1)*v**2)]]*u.shape[0]).T return np.array([df1_du, df2_du, df3_du]) # 定义计算通量向量的函数 def Riemann_solver(u_l, u_r): rho_l, v_l, p_l = primitive_variables(u_l) rho_r, v_r, p_r = primitive_variables(u_r) c_l = np.sqrt(gamma*p_l/rho_l) c_r = np.sqrt(gamma*p_r/rho_r) S_l = np.minimum(v_l-c_l, v_r-c_r) S_r = np.maximum(v_l+c_l, v_r+c_r) if S_l >= 0: f_l = flux(u_l) return f_l elif S_r <= 0: f_r = flux(u_r) return f_r else: f_l = flux(u_l) f_r = flux(u_r) return (S_r*f_l - S_l*f_r + S_l*S_r*(u_r - u_l)) / (S_r - S_l) # 定义计算时间步长的函数 def compute_dt(u, dx): rho, v, p = primitive_variables(u) c = np.sqrt(gamma*p/rho) u_abs = np.abs(v) + c return 0.9*dx / np.max(u_abs) # 执行主程序 t = 0.0 while t < 0.01: dt = compute_dt(u, dx) if t+dt > 0.01: dt = 0.01 - t u_old = u.copy() for i in range(1, nx-1): u_l = u_old[i-1, :] u_r = u_old[i, :] f = Riemann_solver(u_l, u_r) u[i, :] = u_old[i, :] - dt/dx * (f[i,:] - f[i-1,:]) t += dt # 输出结果 rho, v, p = primitive_variables(u) x = np.linspace(0, nx*dx, nx) import matplotlib.pyplot as plt plt.plot(x, rho, 'r-', label='Density') plt.plot(x, v, 'b-', label='Velocity') plt.plot(x, p, 'g-', label='Pressure') plt.legend() plt.show() 在上面的代码中,我们使用有限体积法来求解欧拉方程组,并使用 Riemann 求解器来计算通量向量。该代码模拟了一个激波在气体中传播的过程,并输出了气体密度、速度和压力随时间和位置的变化。
好的,下面是 Matlab 绘制黎曼函数的实现步骤: 1. 定义变量和参数 在绘制黎曼函数之前,我们需要定义一些变量和参数。首先,我们需要定义变量 x,它是函数自变量的取值范围。这里我们可以取一个比较小的范围,比如 [-2, 2]。另外,我们还需要定义一个参数 N,表示求和的上限。 matlab x = linspace(-2, 2, 1000); % 定义自变量范围 N = 10; % 定义求和上限 2. 定义黎曼函数 在 Matlab 中,我们可以使用 syms 命令定义符号变量,然后使用 eval 命令计算表达式的值。这里,我们定义一个匿名函数 riemann,表示黎曼函数的表达式,并使用 arrayfun 函数将其作用于向量 x 的每个元素上。 matlab syms t; riemann = @(x, N) arrayfun(@(s) eval(sprintf('symsum(1/s^2, s, 1:%d)', s)), 1:N) * sqrt(x); 3. 绘制函数图像 最后,我们使用 plot 函数绘制黎曼函数的图像。在绘制时,我们可以将 N 的取值改变,观察函数图像的变化。 matlab y = riemann(x, N); % 计算函数值 plot(x, y); % 绘制函数图像 xlabel('x'); ylabel('y'); title('Riemann function'); 完整的代码如下: matlab x = linspace(-2, 2, 1000); % 定义自变量范围 N = 10; % 定义求和上限 syms t; riemann = @(x, N) arrayfun(@(s) eval(sprintf('symsum(1/s^2, s, 1:%d)', s)), 1:N) * sqrt(x); y = riemann(x, N); % 计算函数值 plot(x, y); % 绘制函数图像 xlabel('x'); ylabel('y'); title('Riemann function'); 运行以上代码,即可绘制出黎曼函数的图像。
### 回答1: 《复分析》(Complex Analysis)是数学中的一个分支,研究复数域上的解析函数和复变函数的性质。alhfors 的《复分析》是这个领域的经典教材之一。 alhfors 的《复分析》电子版是指将这本书以电子文档的形式呈现出来,使得读者可以通过电子设备来学习和阅读。相比于传统的纸质版,电子版具有一些独特的优势。 首先,电子版可以在电子设备上随时随地进行阅读,无论是在电脑、平板还是手机上都可以方便地打开阅读。这使得学习者不再受到纸质书籍的限制,可以随时使用碎片化时间来学习。 其次,电子版可以进行搜索和标记。学习者可以通过搜索功能快速找到特定概念或定理的位置,节省了查找的时间。同时,阅读过程中可以将重点内容进行标注和批注,方便回顾和复习。 另外,电子版还可以将文字与其他多媒体内容相结合。例如,可以通过插入图片、视频或动画来更直观地解释某个概念或证明,提供更丰富的学习资源。 然而,电子版也存在一些不足之处。首先,对于喜欢纸质书籍的读者来说,电子版可能无法提供与纸质书籍相同的阅读体验。其次,电子版需要依赖电子设备和电力供应,而不能像纸质书籍一样随时随地阅读。 总的来说,alhfors 的《复分析》电子版具有便于携带、搜索和标记、多媒体插入等优势,为学习者提供了更便利的学习方式。但也需要考虑到个人阅读习惯和依赖电子设备的限制。 ### 回答2: Ahlfors的《复分析》是一本经典的数学教材,是研究复变函数理论的重要参考书籍。该书分为六个部分,内容涵盖了复变函数的基本概念、复积分与幂级数、解析函数、残积与维数理论、黎曼映射定理以及解析的统计方法等。这本书的特点在于其严谨的数学证明和深入的理论探讨。 首先,该书的第一部分介绍了复数的基本概念、复平面与复函数的性质,为后续章节的学习打下了基础。接着,第二部分讨论了复积分和幂级数的概念与性质,从而为后续章节的解析函数理论做准备。 第三部分是该书的重点,主要讨论了解析函数的性质、调和函数以及边值问题的解析方法。在这一部分中,作者详细介绍了解析函数的Cauchy-Riemann方程、柯西定理以及柯西积分公式等重要的内容。 第四部分介绍了留数与维数理论,包括留数定理、辐角定理、双曲性等。这些理论为复分析的应用提供了重要的工具和方法。 第五部分论述了黎曼映射定理,即全纯函数在几何上的映射性质,从而将复变函数与几何形式联系起来。 最后一部分探讨了解析函数的统计方法,如解析延拓、亚纯函数等。这一部分给读者提供了更广阔的学习领域,也为进一步研究提供了思路。 总而言之,Ahlfors的《复分析》是一本全面而深入的数学著作,对于学习和研究复变函数的人来说具有重要的参考价值。无论从基本理论还是应用角度,该书都将为读者提供丰富而有趣的数学知识。 ### 回答3: 《复分析》是H.L. 卢尔斯的经典数学教材,专门讲解复变函数论的内容。这本书以其严谨性和逻辑性而在数学界享有盛誉。 《复分析》主要包括了数学分析、复变函数和积分学等内容。书中详细介绍了复数的性质、复变函数的概念、复数序列与级数、解析函数、常见的特殊函数如指数函数、三角函数、对数函数等等。此外,该书还介绍了复函数的导数、积分、留数定理以及亚纯函数和调和函数等更高级的概念和定理。 《复分析》的特点之一是其逻辑性和清晰的论证。书中从最基础的概念开始,逐步展开内容,每一部分都有清晰明确的论证与证明过程,使读者能够系统地理解复分析的知识体系。此外,书中还提供了大量的例题和习题,有助于读者巩固学习成果和提升解题能力。 值得一提的是,由于《复分析》是经典教材之一,其电子版在网络上广泛传播,这使得很多对复变函数感兴趣的读者能够方便地获取与阅读。电子版的《复分析》可以在各种电子设备上阅读,如电脑、平板和手机等,在学习中提供了便利。 总的来说,《复分析》是一本经典的数学教材,在复变函数论的学习中起到了重要的作用。无论是在内容的详细性和严谨性上,还是在逻辑性和清晰性上,《复分析》都是非常出色的。在电子版的帮助下,更多的读者可以方便地学习和了解复分析的知识,提高他们的数学水平。

最新推荐

代码随想录最新第三版-最强八股文

这份PDF就是最强⼋股⽂! 1. C++ C++基础、C++ STL、C++泛型编程、C++11新特性、《Effective STL》 2. Java Java基础、Java内存模型、Java面向对象、Java集合体系、接口、Lambda表达式、类加载机制、内部类、代理类、Java并发、JVM、Java后端编译、Spring 3. Go defer底层原理、goroutine、select实现机制 4. 算法学习 数组、链表、回溯算法、贪心算法、动态规划、二叉树、排序算法、数据结构 5. 计算机基础 操作系统、数据库、计算机网络、设计模式、Linux、计算机系统 6. 前端学习 浏览器、JavaScript、CSS、HTML、React、VUE 7. 面经分享 字节、美团Java面、百度、京东、暑期实习...... 8. 编程常识 9. 问答精华 10.总结与经验分享 ......

无监督视觉表示学习中的时态知识一致性算法

无监督视觉表示学习中的时态知识一致性维信丰酒店1* 元江王2*†马丽华2叶远2张驰2北京邮电大学1旷视科技2网址:fengweixin@bupt.edu.cn,wangyuanjiang@megvii.com{malihua,yuanye,zhangchi} @ megvii.com摘要实例判别范式在无监督学习中已成为它通常采用教师-学生框架,教师提供嵌入式知识作为对学生的监督信号。学生学习有意义的表征,通过加强立场的空间一致性与教师的意见。然而,在不同的训练阶段,教师的输出可以在相同的实例中显著变化,引入意外的噪声,并导致由不一致的目标引起的灾难性的本文首先将实例时态一致性问题融入到现有的实例判别范式中 , 提 出 了 一 种 新 的 时 态 知 识 一 致 性 算 法 TKC(Temporal Knowledge Consis- tency)。具体来说,我们的TKC动态地集成的知识的时间教师和自适应地选择有用的信息,根据其重要性学习实例的时间一致性。

yolov5 test.py

您可以使用以下代码作为`test.py`文件中的基本模板来测试 YOLOv5 模型: ```python import torch from PIL import Image # 加载模型 model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # 选择设备 (CPU 或 GPU) device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu') # 将模型移动到所选设备上 model.to(device) # 读取测试图像 i

数据结构1800试题.pdf

你还在苦苦寻找数据结构的题目吗?这里刚刚上传了一份数据结构共1800道试题,轻松解决期末挂科的难题。不信?你下载看看,这里是纯题目,你下载了再来私信我答案。按数据结构教材分章节,每一章节都有选择题、或有判断题、填空题、算法设计题及应用题,题型丰富多样,共五种类型题目。本学期已过去一半,相信你数据结构叶已经学得差不多了,是时候拿题来练练手了,如果你考研,更需要这份1800道题来巩固自己的基础及攻克重点难点。现在下载,不早不晚,越往后拖,越到后面,你身边的人就越卷,甚至卷得达到你无法想象的程度。我也是曾经遇到过这样的人,学习,练题,就要趁现在,不然到时你都不知道要刷数据结构题好还是高数、工数、大英,或是算法题?学完理论要及时巩固知识内容才是王道!记住!!!下载了来要答案(v:zywcv1220)。

基于对比检测的高效视觉预训练

10086⇥⇥⇥⇥基于对比检测的高效视觉预训练Ol i vierJ. He´naf f SkandaKoppula Jean-BaptisteAlayracAaronvandenOord OriolVin yals JoaoCarreiraDeepMind,英国摘要自我监督预训练已被证明可以为迁移学习提供然而,这些性能增益是以大的计算成本来实现的,其中最先进的方法需要比监督预训练多一个数量级的计算。我们通过引入一种新的自监督目标,对比检测,任务表示与识别对象级功能跨增强来解决这个计算瓶颈。该目标可提取每幅图像的丰富学习信号,从而在各种下游任务上实现最先进的传输精度,同时需要高达10少训练特别是,我们最强的ImageNet预训练模型的性能与SEER相当,SEER是迄今为止最大的自监督系统之一,它使用了1000多个预训练数据。最后,我们的目标无缝地处理更复杂图像的预训练,例如COCO中的图像,缩小了从COCO到PASCAL的监督迁移学习的差距1. 介绍自从Al

You are not allowed to push code to this project.

回答: 当你遇到"You are not allowed to push code to this project"的错误提示时,可能有几个原因。首先,你需要确保你具有操作该项目的权限。你可以检查你的git账号是否有该项目的操作权限。如果没有权限,你需要联系管理员为你添加相应的权限。其次,你可以检查你的git凭证是否正确。你可以进入"控制面板" -> "用户帐户" -> "管理您的凭证" -> "Windows凭据 / 普通凭据",查看是否存在多个git凭证。你可以编辑查看你所push的网址的凭证,确保用户名和密码是正确的。另外,你也可以尝试在控制面板的凭据管理器中删除对应配置好的git网址,

TFT屏幕-ILI9486数据手册带命令标签版.pdf

ILI9486手册 官方手册 ILI9486 is a 262,144-color single-chip SoC driver for a-Si TFT liquid crystal display with resolution of 320RGBx480 dots, comprising a 960-channel source driver, a 480-channel gate driver, 345,600bytes GRAM for graphic data of 320RGBx480 dots, and power supply circuit. The ILI9486 supports parallel CPU 8-/9-/16-/18-bit data bus interface and 3-/4-line serial peripheral interfaces (SPI). The ILI9486 is also compliant with RGB (16-/18-bit) data bus for video image display. For high speed serial interface, the ILI9486 also provides one data and clock lane and supports up to 500Mbps on MIPI DSI link. And also support MDDI interface.

增量学习的分离Softmax用于解决类增量学习中的遗忘和分类偏差问题

844SS-IL:用于增量学习的分离SoftmaxHongjoon Ahn1 *、Jihwan Kwak4 *、Subin Lim3、Hyeonsu Bang1、Hyojun Kim2和TaesupMoon4†1人工智能系,2电子电气工程系3韩国水原成均馆大学计算机工程系4韩国首尔国立大学电气与计算机工程系{hong0805,tnqls985,bhs1996,leopard101}@ skku.edu{jihwan0508,tsoon}@ snu.ac.kr摘要我们认为类增量学习(CIL)的问题,其中学习代理不断学习新的类增量到达的训练数据批次,并旨在预测到目前为止学习的所有类。该问题的主要挑战是灾难性遗忘,并且对于基于样本记忆的CIL方法,通常已知的是,遗忘通常由由于新类和旧类之间的数据不平衡(在样本记忆中)而注入的分类得分偏差引起。虽然已经提出了几种方法来通过一些附加的后处理来校正这种分数偏差,然而,尽管存在着对分数重新调整或平衡微调的不确定性,但尚未对这种偏差的根本原因进行系统�

mybatis @select like

在MyBatis中,@Select注解用于执行查询语句。在模糊查询中,可以使用LIKE关键字来匹配包含指定字符串的数据。有几种方式可以在@Select注解中使用LIKE进行模糊查询。 第一种方式是使用拼接字符串的方式,可以在查询语句中直接使用%来表示通配符。例如,可以使用以下方式进行模糊查询: @Select("SELECT * FROM student WHERE name LIKE CONCAT('%', #{keyword}, '%')") List<Student> findByKeyword(String keyword); 第二种方式是使用${}来获取参数值,并在查询语句中直接

freescale IMX6 开发板原理图

freesacle 的arm cortex-a9的双核 四核管脚兼容CPU开发板原理图。