云南省建设工程投标中心网站asp.net窗体网站

news/2025/9/24 1:07:07/文章来源:
云南省建设工程投标中心网站,asp.net窗体网站,平面图设计网站,网页设计费用报价一、说明 中号机器学习模型在训练后必须使用测试集进行评估。我们这样做是为了确保模型不会过度拟合#xff0c;并确保它们适用于现实生活中的数据集#xff0c;与训练集相比#xff0c;现实数据集的分布可能略有偏差。 但为了使您的模型真正稳健#xff0c;仅仅通过训练/测… 一、说明 中号机器学习模型在训练后必须使用测试集进行评估。我们这样做是为了确保模型不会过度拟合并确保它们适用于现实生活中的数据集与训练集相比现实数据集的分布可能略有偏差。 但为了使您的模型真正稳健仅仅通过训练/测试分割进行评估可能还不够。 例如假设您有一个由两个类的样本组成的数据集。数据集前 80% 中的大多数样本属于 A 类而其他 20% 中的大多数样本属于 B 类。如果您采用简单的 80/20 保留分割那么您的数据集将具有截然不同的分布——评估可能会得出错误的结论。 这是我们想要避免的事情。因此在本文中我们将了解另一种可以应用的技术——K 折交叉验证。通过跨多个折叠生成训练/测试分割您可以使用不同的分割执行多个训练和测试会话。您还将了解如何将 K 折交叉验证与 PyTorch 结合使用PyTorch 是当今领先的神经网络库之一。 读完这篇文章后您将... 了解为什么 K 折交叉验证可以提高您对模型评估结果的信心。了解 K 折交叉验证的工作原理。了解如何使用 PyTorch 实现 K 折交叉验证 二、什么是 K 折交叉验证 假设您的目标是构建一个能够正确分类输入图像的分类器 - 如下例所示。您输入代表手写数字的图像输出预计为 5。 根据可选择的模型类型构建此类分类器的方法有多种。但哪个最好呢您必须评估每个模型才能了解其效果如何。 三、为什么使用训练/测试分割进行模型评估 模型评估发生在机器学习模型训练之后。它通过从称为测试集的数据集中提供样本来确保模型也可以处理真实世界的数据其中包含模型以前从未见过的样本。 通过将后续预测与这些样本也可用的真实标签进行比较我们可以看到模型在此数据集上的表现如何。因此如果我们在模型评估期间使用它我们还可以看到它对现实世界数据的表现如何。 然而在评估我们的模型时我们必须谨慎。我们不能简单地使用训练模型的数据以避免成为一个给自己作业评分的学生。 因为这就是您使用训练数据进行评估时会发生的情况随着模型已经学会捕获与特定数据集相关的模式如果这些模式是虚假的因此不存在于现实世界的数据中则模型可能会表现不佳。特别是对于高方差模型这可能会成为一个问题。 相反我们使用该测试集来评估模型该测试集已被选择并包含训练集中不存在的样本。但如何构建这个测试集是另一个问题。有多种方法可以做到这一点。我们先来看看一个简单的策略。然后我们就会明白为什么我们可以应用 K 折交叉验证。 四、简单的坚持分裂一种幼稚的策略 这是一种简单的方法也称为简单的保留分割 使用这种技术您只需取出原始数据集的一部分将其分开并将其视为测试数据。传统上这种分割以 80/20 的方式进行其中 80% 的数据用于训练模型20% 用于评估模型。 这是一种幼稚的方法有几个原因您必须始终牢记这些边缘情况Chollet2017 数据代表性所有数据集本质上都是样本必须尽可能地代表总体中的模式。当您从样本即从完整数据集生成样本时这一点变得尤其重要。例如如果数据集的第一部分包含冰淇淋图片而后一部分仅代表浓缩咖啡则当您生成如上所示的分割时肯定会遇到麻烦。随机洗牌可以帮助您解决这些问题。时间之箭如果您有时间序列数据集您的数据集可能是按时间顺序排序的。如果你随机洗牌然后执行简单的保留验证你就可以有效地“根据过去预测未来”Chollet2017。这种时间泄漏不会有利于模型性能。数据冗余如果某些样本出现多次则带有随机改组的简单保留分割可能会在训练和测试数据集之间引入冗余。也就是说相同的样本属于两个数据集。这也是有问题的因为用于训练的数据会隐式泄漏到用于测试的数据集中。 这就是为什么更稳健地验证模型通常是更好的主意。让我们看一下 K 折交叉验证来实现这一点。 五、K 折交叉验证简介 如果我们可以尝试这种训练/测试拆分的多种变体会怎么样然后我们将拥有一个评估更加稳健的模型。 这正是K 折交叉验证的意义所在。 在 K 折交叉验证中您将数字k设置为任何大于1 的整数值并且将生成k个分割。每个分割都有属于测试数据集的1/k样本而其余数据可用于训练目的。 由于在每次分割中训练数据的不同部分将用于验证目的因此您可以多次有效地训练和评估模型从而使您能够比简单的保留分割更有信心地判断它是否有效。 现在让我们看看如何使用 PyTorch 实现 K 折交叉验证 六、使用 PyTorch 实施 K 折交叉验证 现在您已经了解了 K 折交叉验证的工作原理让我们看看如何将其应用于 PyTorch。将 K-fold CV 与 PyTorch 结合使用涉及以下步骤 确保您的依赖项是最新的。说明您的模型导入。定义nn.Module神经网络的类别以及权重重置函数。在运行时代码中添加准备步骤。加载您的数据集。定义 K 折交叉验证器并生成折叠。迭代每个折叠训练和评估另一个模型实例。对所有折叠进行平均以获得最终性能。 七、运行代码需要什么 运行此示例需要您安装以下依赖项 Python运行一切。确保安装 3.12尽管它也可以运行稍旧的版本。PyTorch这是您用来训练模型的深度学习库。Scikit-learn用于生成折叠。 让我们打开一个代码编辑器并创建一个名为kfold.py. 显然您可能还想在 Jupyter Notebook 中运行所有内容。这取决于你。 7.1 模型人口 我们要做的第一件事是指定模型导入。我们导入这些 Python 模块 对于文件输入/输出我们使用os. 2. 所有 PyTorch 功能均导入为torch. 我们还有一些子导入 神经网络功能导入为nn.DataLoader我们导入的数据torch.utils.data用于将数据传递到神经网络。将ConcatDataset用于连接 MNIST 数据集的训练和测试部分我们将用它来训练模型。K-fold CV 意味着您自己生成分割因此您不希望 PyTorch 为您执行此操作 - 因为您实际上会丢失数据。 3. 我们还导入与计算机视觉相关的特定功能 - 使用torchvision. 首先我们MNIST从 导入数据集torchvision.datasets。我们还transforms从 Torch Vision 导入这使我们能够稍后将数据转换为 Tensor 格式。 4. 最后我们导入KFoldfromsklearn.model_selection以允许我们执行 K 折交叉验证。 import os import torch from torch import nn from torchvision.datasets import MNIST from torch.utils.data import DataLoader, ConcatDataset from torchvision import transforms from sklearn.model_selection import KFold 7.2 模型类 是时候开始一些真正的工作了 让我们定义一个简单的卷积神经网络即 a SimpleConvNet它利用nn.Module基类 - 从而有效地实现 PyTorch 神经网络。 __init__我们可以通过指定构造函数定义和前向传递来实现它如下所示。在__init__定义中我们将神经网络指定为 PyTorch 层的顺序堆栈。您可以看到我们使用一个Conv2d带有 ReLU 激活的卷积层 ( ) 和一些Linear负责生成预测的层。由于 MNIST 数据集的简单性这应该足够了。我们将堆栈存储在 中self.layers我们在前向传递中使用它如forward定义中所定义的。在这里我们只是将可用的数据传递x到各层。 class SimpleConvNet(nn.Module):Simple Convolutional Neural Networkdef __init__(self):super().__init__()self.layers nn.Sequential(nn.Conv2d(1, 10, kernel_size3),nn.ReLU(),nn.Flatten(),nn.Linear(26 * 26 * 10, 50),nn.ReLU(),nn.Linear(50, 20),nn.ReLU(),nn.Linear(20, 10))def forward(self, x):Forward passreturn self.layers(x) 在此之前class我们还将添加一个def名为reset_weights. 在折叠过程中它将用于重置模型的参数。这样我们确保模型使用伪随机初始化的权重进行训练避免权重泄漏。 def reset_weights(m):Try resetting model weights to avoidweight leakage.for layer in m.children():if hasattr(layer, reset_parameters):print(fReset trainable parameters of layer {layer})layer.reset_parameters() 7.3 运行时代码 现在我们已经定义了模型类是时候编写一些运行时代码了。运行时代码是指您将编写在运行 Python 文件或 Jupyter Notebook 时实际运行的代码。您之前定义的类指定了一个骨架您必须首先初始化它才能运行它。我们接下来就这样做。更具体地说我们的运行时代码涵盖以下几个方面 准备步骤我们执行一些毫不奇怪准备步骤来运行模型。加载数据集准确地说是 MNIST。定义 K 折交叉验证器来生成折叠。然后生成我们实际上可以用于训练模型的分割我们也这样做——每次折叠一次。在对每个折叠进行训练后我们评估该折叠的性能。最后我们对模型进行跨折叠的性能评估。 其实就是这么简单:) 7.4 准备步骤 下面我们定义了一些在开始跨折叠集的训练过程之前执行的准备步骤。您可以看到我们运行了名称中的所有内容__main__这意味着该代码仅在我们执行 Python 文件时运行。在这一部分中我们做了以下几件事 我们设置配置选项。我们将生成 5 折通过设置 (k 5)我们训练 1 epoch通常这个值要高得多但这里我们只想说明 K 折 CV 的工作我们将损失设置nn.CrossEntropyLoss为功能。我们定义一个字典来存储每次折叠的结果。我们设置了一个固定的随机数种子这意味着所有伪随机数初始化器都将使用相同的初始化令牌进行初始化。 if __name__ __main__:# Configuration optionsk_folds 5num_epochs 1loss_function nn.CrossEntropyLoss()# For fold resultsresults {}# Set fixed random number seedtorch.manual_seed(42) 7.5 加载 MNIST 数据集 然后我们加载 MNIST 数据集。如果您习惯使用 PyTorch 数据集您可能已经熟悉此代码。然而第三行可能仍然有点不清楚——但实际上很容易理解这里发生的事情。 我们简单地将MNIST 数据集的trainTrue和trainFalse部分合并在一起该数据集已经被 PyTorch 的torchvision. 我们不希望这样——回想一下K 折交叉验证生成跨 k 折的训练/测试分割其中 k-1 部分用于训练模型1 部分用于模型评估。 为了解决这个问题我们只需加载这两个部分然后将它们连接到一个ConcatDataset对象中。不用担心数据的混洗——您将看到接下来会处理这个问题。 # Prepare MNIST dataset by concatenating Train/Test part; we split later.dataset_train_part MNIST(os.getcwd(), downloadTrue, transformtransforms.ToTensor(), trainTrue)dataset_test_part MNIST(os.getcwd(), downloadTrue, transformtransforms.ToTensor(), trainFalse)dataset ConcatDataset([dataset_train_part, dataset_test_part]) 7.6 定义 K 折交叉验证器 因为接下来当我们初始化 K 折交叉验证器时我们确实定义了洗牌。在这里我们设置shuffleTrue这意味着在数据被分割成批次之前发生洗牌。k_folds表示折叠次数正如您所期望的那样。 # Define the K-fold Cross Validatorkfold KFold(n_splitsk_folds, shuffleTrue)# Start printprint(--------------------------------) 7.7 生成分割并训练折叠模式 我们现在可以生成分割并训练我们的模型。您可以通过定义一个循环来迭代分割指定该特定折叠的训练和测试fold样本的标识符列表来实现此目的。这些可用于执行实际的训练过程。 在 for 循环中我们首先执行一条print语句指示当前折叠。然后您执行训练过程。这涉及以下步骤 从train_ids或test_ids中采样实际元素SubsetRandomSampler。采样器可用于DataLoader仅使用特定样本在这种情况下基于标识符因为SubsetRandomSampler从列表中随机采样元素没有替换。换句话说您创建两个子采样器它们遵循循环中指定的分割for。使用数据加载器您实际上将从完整的dataset. 您可以使用适合内存的任何批处理大小但批处理大小 10 几乎适用于所有情况。为该特定折叠准备好数据集后您可以通过初始化类来初始化神经网络 - 使用SimpleConvNet().然后当神经网络初始化时您可以初始化此特定训练会话的优化器 - 在本例中我们使用 Adam并具有1e-4学习率。在 PyTorch 中您必须定义自己的训练循环。它相对简单迭代 epoch 的数量在一个时期内在小批量上每个小批量您执行前向传递、后向传递和后续优化。这就是这里正在发生的事情。 # K-fold Cross Validation model evaluationfor fold, (train_ids, test_ids) in enumerate(kfold.split(dataset)):# Printprint(fFOLD {fold})print(--------------------------------)# Sample elements randomly from a given list of ids, no replacement.train_subsampler torch.utils.data.SubsetRandomSampler(train_ids)test_subsampler torch.utils.data.SubsetRandomSampler(test_ids)# Define data loaders for training and testing data in this foldtrainloader torch.utils.data.DataLoader(dataset, batch_size10, samplertrain_subsampler)testloader torch.utils.data.DataLoader(dataset,batch_size10, samplertest_subsampler)# Init the neural networknetwork SimpleConvNet()# Initialize optimizeroptimizer torch.optim.Adam(network.parameters(), lr1e-4)# Run the training loop for defined number of epochsfor epoch in range(0, num_epochs):# Print epochprint(fStarting epoch {epoch1})# Set current loss valuecurrent_loss 0.0# Iterate over the DataLoader for training datafor i, data in enumerate(trainloader, 0):# Get inputsinputs, targets data# Zero the gradientsoptimizer.zero_grad()# Perform forward passoutputs network(inputs)# Compute lossloss loss_function(outputs, targets)# Perform backward passloss.backward()# Perform optimizationoptimizer.step()# Print statisticscurrent_loss loss.item()if i % 500 499:print(Loss after mini-batch %5d: %.3f %(i 1, current_loss / 500))current_loss 0.0# Process is complete.print(Training process has finished. Saving trained model.) 八、折叠评价 在特定折叠内训练模型后您还必须对其进行评估。这就是我们接下来要做的。首先我们保存模型 - 以便以后您想重复使用它时可以将其用于生成产品。然后我们执行模型评估活动 - 迭代并testloader为折叠分割的测试批次/测试部分中的所有样本生成预测。我们在评估后计算准确性将print其显示在屏幕上并将其添加到results该特定折叠的字典中。 # Print about testingprint(Starting testing)# Saving the modelsave_path f./model-fold-{fold}.pthtorch.save(network.state_dict(), save_path)# Evaluation for this foldcorrect, total 0, 0with torch.no_grad():# Iterate over the test data and generate predictionsfor i, data in enumerate(testloader, 0):# Get inputsinputs, targets data# Generate outputsoutputs network(inputs)# Set total and correct_, predicted torch.max(outputs.data, 1)total targets.size(0)correct (predicted targets).sum().item()# Print accuracyprint(Accuracy for fold %d: %d %% % (fold, 100.0 * correct / total))print(--------------------------------)results[fold] 100.0 * (correct / total) 九、模型评估 最后一旦所有折叠都通过我们就得到了results每个折叠的 。现在是时候执行完整的模型评估了——我们可以更稳健地进行评估因为我们拥有来自所有折叠的信息。以下是如何显示每次折叠的结果然后在屏幕上打印平均值。 它允许你做两件事 查看您的模型是否在所有折叠上都表现良好如果每次折叠的精度偏差不是太大则确实如此。如果确实如此您就知道在哪个折叠中并且可以仔细查看数据以了解那里发生了什么。 # Print fold resultsprint(fK-FOLD CROSS VALIDATION RESULTS FOR {k_folds} FOLDS)print(--------------------------------)sum 0.0for key, value in results.items():print(fFold {key}: {value} %)sum valueprint(fAverage: {sum/len(results.items())} %) 十、完整代码 您可能对简单地运行代码感兴趣而不是阅读上面的解释。由于本文有点长您可以在我的 Github 存储库中找到完整的代码。 运行代码会得到以下 5 次折叠的结果每次折叠一个 epoch。 -------------------------------- FOLD 0 -------------------------------- Starting epoch 1 Loss after mini-batch 500: 1.875 Loss after mini-batch 1000: 0.810 Loss after mini-batch 1500: 0.545 Loss after mini-batch 2000: 0.450 Loss after mini-batch 2500: 0.415 Loss after mini-batch 3000: 0.363 Loss after mini-batch 3500: 0.342 Loss after mini-batch 4000: 0.373 Loss after mini-batch 4500: 0.331 Loss after mini-batch 5000: 0.295 Loss after mini-batch 5500: 0.298 Training process has finished. Saving trained model. Starting testing Accuracy for fold 0: 91 % -------------------------------- FOLD 1 -------------------------------- Starting epoch 1 Loss after mini-batch 500: 1.782 Loss after mini-batch 1000: 0.727 Loss after mini-batch 1500: 0.494 Loss after mini-batch 2000: 0.419 Loss after mini-batch 2500: 0.386 Loss after mini-batch 3000: 0.367 Loss after mini-batch 3500: 0.352 Loss after mini-batch 4000: 0.329 Loss after mini-batch 4500: 0.307 Loss after mini-batch 5000: 0.297 Loss after mini-batch 5500: 0.289 Training process has finished. Saving trained model. Starting testing Accuracy for fold 1: 91 % -------------------------------- FOLD 2 -------------------------------- Starting epoch 1 Loss after mini-batch 500: 1.735 Loss after mini-batch 1000: 0.723 Loss after mini-batch 1500: 0.501 Loss after mini-batch 2000: 0.412 Loss after mini-batch 2500: 0.364 Loss after mini-batch 3000: 0.366 Loss after mini-batch 3500: 0.332 Loss after mini-batch 4000: 0.319 Loss after mini-batch 4500: 0.322 Loss after mini-batch 5000: 0.292 Loss after mini-batch 5500: 0.293 Training process has finished. Saving trained model. Starting testing Accuracy for fold 2: 91 % -------------------------------- FOLD 3 -------------------------------- Starting epoch 1 Loss after mini-batch 500: 1.931 Loss after mini-batch 1000: 1.048 Loss after mini-batch 1500: 0.638 Loss after mini-batch 2000: 0.475 Loss after mini-batch 2500: 0.431 Loss after mini-batch 3000: 0.394 Loss after mini-batch 3500: 0.390 Loss after mini-batch 4000: 0.373 Loss after mini-batch 4500: 0.383 Loss after mini-batch 5000: 0.349 Loss after mini-batch 5500: 0.350 Training process has finished. Saving trained model. Starting testing Accuracy for fold 3: 90 % -------------------------------- FOLD 4 -------------------------------- Starting epoch 1 Loss after mini-batch 500: 2.003 Loss after mini-batch 1000: 0.969 Loss after mini-batch 1500: 0.556 Loss after mini-batch 2000: 0.456 Loss after mini-batch 2500: 0.423 Loss after mini-batch 3000: 0.372 Loss after mini-batch 3500: 0.362 Loss after mini-batch 4000: 0.332 Loss after mini-batch 4500: 0.316 Loss after mini-batch 5000: 0.327 Loss after mini-batch 5500: 0.304 Training process has finished. Saving trained model. Starting testing Accuracy for fold 4: 90 % -------------------------------- K-FOLD CROSS VALIDATION RESULTS FOR 5 FOLDS -------------------------------- Fold 0: 91.87857142857143 % Fold 1: 91.75 % Fold 2: 91.85 % Fold 3: 90.35714285714286 % Fold 4: 90.82142857142857 % Average: 91.33142857142857 % 事实上这是 MNIST 数据集我们仅通过有限的迭代就获得了很好的结果 - 但这是我们所期望的。 然而我们还看到各方面的性能相对相同因此我们没有看到任何奇怪的异常值这些异常值会影响我们的模型评估工作。 这确保了数据在各个分割中的分布相对相等并且如果它具有相对相似的分布则它可能适用于现实世界的数据。 一般来说我现在经常做的是使用完整的数据集重新训练模型而不对保留分割或非常小的分割 - 例如 5%进行评估。我们已经看到它具有概括性并且是跨领域的。我们现在可以使用手头的所有数据来进一步提高性能。 十一、概括 在本教程中我们研究了将 K 折交叉验证与 PyTorch 框架应用于深度学习。我们看到 K 折交叉验证使用数据集生成k 种称为折叠的不同情况其中数据分为k-1 个训练批次和每个折叠 1 个测试批次。K 折交叉验证可用于更彻底地评估您的 PyTorch 模型让您更加确信性能并未因数据集中的奇怪异常值而受到影响。 除了理论知识之外我们还提供了一个 PyTorch 示例展示了如何将 K 折交叉验证与框架结合 Scikit-learn 的KFold功能应用。我希望你们中的一些人从中学到了一些东西。如有任何意见、问题或建议我们非常欢迎。感谢您的阅读 参考 乔莱F.2017。使用 Python 进行深度学习。纽约州纽约曼宁出版社。 PyTorch 闪电。2021 年 1 月 12 日。Lightning AI 火炬。nd。https://pytorch.org

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914438.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

旅游网站设计方案怎么做企业公示信息查询系统湖北

小补充,在上一篇转载的文章中《RedHat/Fedora等非ubuntu的Linux系统星空极速netkeeper拨号上网》中提到{方法一,Debian下突破星空极速拨号用了一个“pon”命令,完整的拨号命令是“pon dsl-provider”,}&…

设计一个学院网站哪里有网站建站公司

要在CSS3中实现动画的无限循环,你可以使用animation 属性和 infinite 关键字。以下是一个示例: keyframes myAnimation {0% { /* 起始状态 */ }50% { /* 中间状态 */ }100% { /* 结束状态 */ }}.element {animation: myAnimation 2s infinite; /* 设置动…

手机网站推荐做一个简单网站

MySQL数据库的导入,有两种方法:1) 先导出数据库SQL脚本,再导入;2) 直接拷贝数据库目录和文件。在不同操作系统或MySQL版本情况1. 概述MySQL数据库的导入,有两种方法:1) 先导出数据库SQL脚本,再导…

自己做产品品牌网站专业订制网站制作

UIAbi lity的启动模式简介 一共有四种:singleton,standard,specified,multion。在项目目录的:src/main/module.json5。默认开启模式为singleton(单例模式)。如下图 singleton(单实例模式)启动模式 每个UIAbility只存在唯一实例。任务列表中只会存在一…

太仓做企业网站建筑模板规格型号

在现代社会中,移动设备和互联网已经成为我们日常生活中不可或缺的一部分。为了方便我们的网络使用,越来越多的人选择使用公共WiFi,但是安全性成了很大的问题。而随着共享WiFi贴的出现,我们是否可以更加安全便捷地使用WiFi呢&#…

央企 网站建设 公司网站前置审批项

1.工具-->选项-->文本编译器-->C#-->高级-->勾选支持导航到反编译源(试验)

仿it资讯类网站源码搜索引擎关键词排名

HTTP基础 基本概念:HTTP是一种计算机之间交流通信的规范,它允许数据在两点之间传输,这个过程可以包括中转或接力。HTTP不仅仅包括文本,还可以包括图片、音频等超文本。状态码:HTTP状态码分为五类: 2xx&…

电子商务公司简介怎么写镇江网站建设方式优化

课程名称2020年最新天码营-Java提高班,资源教程下载课程介绍初学者先广在精,关注代码背后的实现,关注内功修炼,了解实现原理和思想,形成自己完整的技术体系,知识成片之后就容易触类旁通,进步的速…

做布料的著名网站桂林市卫生学校

1.什么是编程? 编程是让计算机执行特定任务的过程,通过使用某种编程语言编写代码,让计算机解决某个问题,并最终得到一个结果 2.计算机程序 计算机程序是一组计算机能识别和执行的指令,告诉计算机该做什么 3.计算机语…

海外制作网站电池外贸一般在哪些网站做

看看普通人和高手是如何回答这个问题的? 普通人 Zookeeper 是一种开放源码的分布式应用程序协调服务 是一个分布式的小文件存储系统 一般对开发者屏蔽分布式应用开发过过程种的底层细节 用来解决分布式集群中应用系统的一致性问题 高手 对于 Zookeeper 的理解…

dede织梦建站教程wordpress主导航菜单

桂林电子科技大学 学校层级:双非 调剂专业:081000 信息与通信工程 发布时间:2024.1.21 发布来源:网络发布 背景:欢迎广大08工学专业考生调剂进我的课题组,电子信息专业,也欢迎往届同学调剂…

Markdown基本与阿法

欢迎使用 OpenWrite 开始写作您的文章... 这是一个二级标题 您可以使用 Markdown 语法:粗体文字 斜体文字 行内代码// 代码块示例 console.log(Hello OpenWrite!);这是一个引用块链接示例

seo站长工具平台phpmysql网站开发实例

如果有重装过anaconda,在C盘的用户目录下,会有一个名叫.condarc的文件会自动生成。 当使用conda install和conda create命令会出现下面的问题:Collecting package metadata (current_repodata.json): failed 解决方案: 1.打开Anac…

个人 可以备案做分类信息网站吗免费广告发布平台app

1、PNG图片类型 PNG格式有8位、24位、32位三种,下面是一些术语: 索引透明:类似于GIF,某一像素只有全透和全不透明两种效果Alpha透明:半透明PNG8 8位的PNG最多支持256(2的8次方)种颜色&#xff0…

做网站运营用什么配置电脑平面设计网站大全有哪些

将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100)。 输出格式: 要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出…

凡科网站怎么做建站好看的登录页面自适应模板

概述 eclipse是优秀的老牌IDE,使用eclipse是一种身份的象征,代表了老程序员。eclipse每年都会更新,也越来越好用。但下载的时候,速度一直有点慢,eclipse官网提供了国内镜像,下载很快。 操作步骤 第一步&…

哪个网站代做ppt便宜图片在线生成网址

理想架构的高回退Doherty功率放大器理论与仿真-Multistage 参考: 三路Doherty设计 01 射频基础知识–基础概念 Switchmode RF and Microwave Power Amplifiers、 理想架构的Doherty功率放大器(等分经典款)的理论与ADS电流源仿真参考&#x…

演出公司网站建设漯河市建设局网站

场景描述 随着科技的飞速发展,越来越多的智能设备走进生产加工车间。例如智能雕刻机、钣金机、 榫槽机、钻孔机、磨刀机等等。 目前市场的智能设备具有一个共同的特点,内置嵌入操作系统,如windows或者linux系统。设备制造商提供智能设备出…

网页设计与网站开发的实践目的wordpress的加密算法

Problem Description E_star和von是中国赫赫有名的两位商人,俗话说的好无商不奸,最近E_star需要进一批苹果。可是他需要的苹果只有von才有,von的苹果都存在他的传说中很牛叉的仓库里,每个仓库都存了不同种类的苹果,而且…

做甲方去哪个网站应聘网站建设 平易

1. 前言 最近在弄关于目标检测的任务,因为检测的图片和标签是分开的,可视化效果不明显,也不知道随便下载的数据集,标注信息对不对。网上看了好多代码,代码风格和本人平时不同,看起来麻烦,也不知…