新公司网站建设费用怎么入账wordpress后台使用方法

张小明 2025/12/31 18:50:42
新公司网站建设费用怎么入账,wordpress后台使用方法,用户体验设计经典案例,wordpress如何让导航居中1. 理论习题 【中英】【吴恩达课后测验】Course 4 -卷积神经网络 - 第一周测验 本周的题多是一些尺寸和参数量的计算#xff0c;只要对公式和层级结构足够熟练#xff0c;就没什么大问题。 来看看这道可能容易混淆的题#xff1a; 把下面这个过滤器应用到灰度图像会怎么样…1. 理论习题【中英】【吴恩达课后测验】Course 4 -卷积神经网络 - 第一周测验本周的题多是一些尺寸和参数量的计算只要对公式和层级结构足够熟练就没什么大问题。来看看这道可能容易混淆的题把下面这个过滤器应用到灰度图像会怎么样答案检测竖直边缘。这道题乍一看可能会有些迷惑但是观察就会发现左右数字对称符号相反。也就是说如果应用这个过滤器当对应区域左右像素接近时结果就几乎为0。但当左右像素出现较大差别时结果的绝对值就会较大。这就是竖直边缘的逻辑如果把整个矩阵旋转 90 度检测的就是水平边缘只是二者的效果可能都没有我们常用的边缘检测过滤器好。2. 代码实践吴恩达卷积神经网络实战同样这位博主还是手工构建了卷积网络中的各个组件有兴趣可以链接前往。我们还是用 PyTorch 来进行演示终于正式引入了卷积网络还是用猫狗二分类来看看卷积网络在图学习中的效果。首先来看看 PyTorch 中如何定义卷积层self.conv1 nn.Conv2d(3, 16, kernel_size3, padding0, stride1)# Conv2d 是指二维卷积虽然图片可以有多个通道但它实际上还是二维的”纸片人“。# Conv3d 便适用于视频和 3D 图片这样的三维数据。# 316 是指输入和输入的通道数必须显式指定。# kernel_size3 是卷积核尺寸必须显式指定。# padding0 0 就是padding 的默认值。# stride 就是步长1 就是步长的默认值。再看看池化层self.max_pool1 nn.MaxPool2d(kernel_size2, stride2)# MaxPool2d 即为最大池化。# 在池化层中stride 默认和 kernel_size 相同。# 池化层会自适应输入通道数因此不用显示指定。self.avg_pool2 nn.AvgPool2d(kernel_size2, stride2)# 同理AvgPool2d 就是平均池化。现在我们就来看看卷积网络的使用效果。2.1 卷积网络 1.0我们现在设计卷积网络如下class SimpleCNN(nn.Module):def __init__(self):super().__init__()# 卷积层self.conv1 nn.Conv2d(3, 16, kernel_size3, padding1)self.conv2 nn.Conv2d(16, 32, kernel_size3, padding1)self.conv3 nn.Conv2d(32, 64, kernel_size3, padding1)self.pool nn.MaxPool2d(2, 2)# 全连接层self.fc1 nn.Linear(64 * 16 * 16, 128)self.fc2 nn.Linear(128, 1)def forward(self, x):x self.conv1(x)x F.relu(x) # 另一种调用激活函数的方式x self.pool(x)x self.conv2(x)x F.relu(x)x self.pool(x)x self.conv3(x)x F.relu(x)x self.pool(x)x torch.flatten(x, 1) # 进入全连接层前要先展平x self.fc1(x)x self.fc2(x)x torch.sigmoid(x)return x来看看运行结果如何image.png可以看到仅仅经过 20 轮训练训练准确率就几乎达到 100% 但是验证准确率却仍在70%左右徘徊。这是典型的过拟合现象模型的学习能力很强但是泛化能力不好。经过前面的内容我们已经了解了很多可以缓解过拟合现象的方法。现在我们就开始一步步调试缓解过拟合现象增强模型的泛化能力。2.2 卷积网络 2.0加入 Dropout我们在正则化部分了解了可以通过应用 dropout 来缓解过拟合现在就来看看效果。如果你有些忘了什么是dropout它的第一次出现在这里dropout正则化应用 dropout 后我们更新网络结构如下class SimpleCNN(nn.Module):def __init__(self):super().__init__()# 卷积层self.conv1 nn.Conv2d(3, 16, kernel_size3, padding1)self.conv2 nn.Conv2d(16, 32, kernel_size3, padding1)self.conv3 nn.Conv2d(32, 64, kernel_size3, padding1)self.pool nn.MaxPool2d(2, 2)# 全连接层self.fc1 nn.Linear(64 * 16 * 16, 128)self.fc2 nn.Linear(128, 1)# dropoutself.dropout nn.Dropout(p0.3)def forward(self, x):x self.conv1(x)x F.relu(x)x self.pool(x)x self.dropout(x) # dropoutx self.conv2(x)x F.relu(x)x self.pool(x)x self.dropout(x) # dropoutx self.conv3(x)x F.relu(x)x self.pool(x)x self.dropout(x) # dropoutx torch.flatten(x, 1)x self.fc1(x)x self.dropout(x) # dropoutx self.fc2(x)x torch.sigmoid(x)return x现在再来看看结果image.png你会发现dropout 确实有作用增加训练轮次为 30 轮训练集上的准确率上升的没有那么快了确实和验证准确率的差距更小了。但问题是验证准确率也没上去啊 原本的过拟合问题现在变成了欠拟合问题模型对数据的拟合能力不足而且通过趋势会发现如果继续训练仍存在过拟合风险。那该怎么办呢我们知道无论是过拟合还是欠拟合我们希望提高模型性能最直接的方法就是增加数据量。我们先不急着上网找图片不如就先试试我们之前经常提到的数据增强看看效果如何。2.3 卷积网络 3.0进行数据增强现在我们要进行数据增强那么要修改的代码内容就换到了预处理部分。同样数据增强第一次出现在这里其他缓解过拟合的方法现在我们仍然保留上一步的 dropout 内容修改预处理代码如下transform transforms.Compose([transforms.Resize((128, 128)),transforms.RandomHorizontalFlip(),# 图片有 50% 可能水平翻转transforms.RandomRotation(10), # 在 角度 -10° 到 10° 之间随机旋转图像。transforms.ToTensor(),transforms.Normalize((0.5,), (0.5,))])再再来看看效果如何image.png不是好像变化不大啊别着急之前我们一直在关注准确率但是你会发现在相同的训练轮次下损失仍在平稳下降但是下降的更慢了并没有达到最开始过拟合的损失水平比刚加入 dropout 时的损失还要高。这说明我们还没有达到模型的上限。现在继续维持其他内容不变只增加训练轮次我们再来运行看看。image现在把训练轮次增加到100轮就可以发现验证准确率有了一定的提升但好像还是有过拟合风险如果要继续修改可以选择提高 dropout 的比率也可以尝试其他正则化。简单了解卷积层的性能后我们就不在继续调试了。实际上通过继续修改网络结构或者继续增强数据还可以让模型有更多的提升但就不在这里演示了。下一周的内容就是对现有的一些经典网络结构的介绍到时候我们再来看看出色的网络结构是什么效果。3.附录3.1 卷积网络 3.0 pytorch代码import torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimfrom torchvision import datasets, transformsfrom torch.utils.data import DataLoader, random_splitimport matplotlib.pyplot as plttransform transforms.Compose([transforms.Resize((128, 128)),transforms.RandomHorizontalFlip(),transforms.RandomRotation(10),transforms.ToTensor(),transforms.Normalize((0.5,), (0.5,))])dataset datasets.ImageFolder(root./cat_dog, transformtransform)train_size int(0.8 * len(dataset))val_size int(0.1 * len(dataset))test_size len(dataset) - train_size - val_sizetrain_dataset, val_dataset, test_dataset random_split(dataset, [train_size, val_size, test_size])train_loader DataLoader(train_dataset, batch_size32, shuffleTrue)val_loader DataLoader(val_dataset, batch_size32, shuffleFalse)test_loader DataLoader(test_dataset, batch_size32, shuffleFalse)class SimpleCNN(nn.Module):def __init__(self):super().__init__()# 卷积层self.conv1 nn.Conv2d(3, 16, kernel_size3, padding1)self.conv2 nn.Conv2d(16, 32, kernel_size3, padding1)self.conv3 nn.Conv2d(32, 64, kernel_size3, padding1)self.pool nn.MaxPool2d(2, 2)# 全连接层self.fc1 nn.Linear(64 * 16 * 16, 128)self.fc2 nn.Linear(128, 1)self.dropout nn.Dropout(p0.3)def forward(self, x):x self.conv1(x)x F.relu(x)x self.pool(x)x self.dropout(x)x self.conv2(x)x F.relu(x)x self.pool(x)x self.dropout(x)x self.conv3(x)x F.relu(x)x self.pool(x)x self.dropout(x)x torch.flatten(x, 1)x self.fc1(x)x self.dropout(x)x self.fc2(x)x torch.sigmoid(x)return xdevice torch.device(cuda if torch.cuda.is_available() else cpu)model SimpleCNN().to(device)criterion nn.BCELoss()optimizer optim.Adam(model.parameters(), lr1e-3)epochs 100train_losses []train_accuracies []val_accuracies []for epoch in range(epochs):model.train()epoch_loss 0correct_train 0total_train 0for images, labels in train_loader:images, labels images.to(device), labels.to(device).float().unsqueeze(1)outputs model(images)loss criterion(outputs, labels)optimizer.zero_grad()loss.backward()optimizer.step()epoch_loss loss.item()preds (outputs 0.5).int()correct_train (preds labels.int()).sum().item()total_train labels.size(0)avg_loss epoch_loss / len(train_loader)train_acc correct_train / total_traintrain_losses.append(avg_loss)train_accuracies.append(train_acc)model.eval()correct_val 0total_val 0with torch.no_grad():for images, labels in val_loader:images, labels images.to(device), labels.to(device).float().unsqueeze(1)outputs model(images)preds (outputs 0.5).int()correct_val (preds labels.int()).sum().item()total_val labels.size(0)val_acc correct_val / total_valval_accuracies.append(val_acc)print(f轮次: [{epoch1}/{epochs}], 训练损失: {avg_loss:.4f}, 训练准确率: {train_acc:.4f}, 验证准确率: {val_acc:.4f})# 可视化plt.rcParams[font.sans-serif] [SimHei]plt.rcParams[axes.unicode_minus] Falseplt.plot(train_losses, label训练损失)plt.plot(train_accuracies, label训练准确率)plt.plot(val_accuracies, label验证准确率)plt.title(训练损失、训练准确率、验证准确率变化曲线)plt.xlabel(训练轮次Epoch)plt.ylabel(数值)plt.legend()plt.grid(True)plt.show()# 最终测试可忽略model.eval()correct_test 0total_test 0with torch.no_grad():for images, labels in test_loader:images, labels images.to(device), labels.to(device).float().unsqueeze(1)outputs model(images)preds (outputs 0.5).int()correct_test (preds labels.int()).sum().item()total_test labels.size(0)test_acc correct_test / total_testprint(f测试准确率: {test_acc:.4f})3.2 卷积网络 3.0 TF版代码import tensorflow as tffrom tensorflow.keras import layers, modelsimport matplotlib.pyplot as pltimg_size (128, 128)batch_size 32train_ds tf.keras.preprocessing.image_dataset_from_directory(./cat_dog,validation_split0.2,subsettraining,seed42,image_sizeimg_size,batch_sizebatch_size)val_test_ds tf.keras.preprocessing.image_dataset_from_directory(./cat_dog,validation_split0.2,subsetvalidation,seed42,image_sizeimg_size,batch_sizebatch_size)val_size int(0.5 * len(val_test_ds))val_ds val_test_ds.take(val_size)test_ds val_test_ds.skip(val_size)data_augmentation tf.keras.Sequential([layers.RandomFlip(horizontal),layers.RandomRotation(0.1)])normalization layers.Rescaling(1/0.5, offset-1)AUTOTUNE tf.data.AUTOTUNEtrain_ds train_ds.map(lambda x, y: (normalization(data_augmentation(x)), y)).prefetch(AUTOTUNE)val_ds val_ds.map(lambda x, y: (normalization(x), y)).prefetch(AUTOTUNE)test_ds test_ds.map(lambda x, y: (normalization(x), y)).prefetch(AUTOTUNE)train_ds train_ds.cache().shuffle(1000).prefetch(tf.data.AUTOTUNE)val_ds val_ds.cache().prefetch(tf.data.AUTOTUNE)model models.Sequential([layers.Conv2D(16, (3, 3), paddingsame, activationrelu, input_shapeimg_size (3,)),layers.MaxPooling2D(2, 2),layers.Dropout(0.3),layers.Conv2D(32, (3, 3), paddingsame, activationrelu),layers.MaxPooling2D(2, 2),layers.Dropout(0.3),layers.Conv2D(64, (3, 3), paddingsame, activationrelu),layers.MaxPooling2D(2, 2),layers.Dropout(0.3),layers.Flatten(),layers.Dense(128, activationrelu),layers.Dense(1, activationsigmoid)])model.summary()model.compile(optimizertf.keras.optimizers.Adam(1e-3),lossbinary_crossentropy,metrics[accuracy])epochs 100history model.fit(train_ds,validation_dataval_ds,epochsepochs)plt.rcParams[font.sans-serif] [SimHei]plt.rcParams[axes.unicode_minus] Falseplt.plot(history.history[loss], label训练损失)plt.plot(history.history[accuracy], label训练准确率)plt.plot(history.history[val_accuracy], label验证准确率)plt.title(训练损失、训练准确率、验证准确率变化曲线)plt.xlabel(训练轮次Epoch)plt.ylabel(数值)plt.legend()plt.grid(True)plt.show()test_loss, test_acc model.evaluate(test_ds)print(f测试准确率: {test_acc:.4f})
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

陕西建设厅网站人才库网站高端

第一章:MCP Azure量子成本控制的核心挑战Azure 量子计算平台为企业提供了强大的计算能力,但在多账户、多项目并行的环境下,成本失控成为普遍问题。资源的按需分配和高并发调用特性使得费用监控复杂化,尤其是在缺乏精细化策略的情况…

张小明 2025/12/29 4:32:44 网站建设

广州论坛建站模板专科学什么专业好就业前景好

步入2025年,保险行业正站在一个深刻变革的十字路口。昔日赖以生存的流量红利已然消退,而客户,尤其是新生代客群,对传统的电话推销与人海战术正表现出前所未有的免疫力。 正如《2024 AI 生成式营销产业研究蓝皮书》所揭示&#xf…

张小明 2025/12/29 4:32:45 网站建设

网站建设好卖吗彩票网站怎么建设

Python编程中的回调函数与多元应用技巧 回调函数概念 回调函数和传递函数的概念可能对许多人来说比较陌生,但深入了解它是很值得的。在Python里,函数属于“一等公民”,这意味着可以像操作对象一样传递和处理函数,因为函数本身就是对象。 下面是一个展示函数作为一等公民的…

张小明 2025/12/29 4:32:42 网站建设

网站内搜索途牛旅行网网站建设

JL-695X-SDK 具体的启动流程就不一一说了,已经很熟悉了,这里挑一些重点记录一下,以防后面再重新来写JL的时候一头雾水一、启动流程 上电肯定是先从main函数开始执行,JL-695X-SDK(后面都用SDK代替)的main函数…

张小明 2025/12/29 4:32:42 网站建设

企业自己的网站南京企业免费建站

在信息获取日益重要的今天,付费墙绕过工具成为了新闻阅读爱好者的得力助手。这款浏览器扩展能够智能解锁付费内容,让您畅享免费阅读体验。本文将为您提供一份完整的使用攻略,帮助您从零开始掌握这款实用工具。 【免费下载链接】bypass-paywal…

张小明 2025/12/29 4:32:44 网站建设

临沂建设网站公司天津网站建设优选企业

第一章:数据科学家为何对Open-AutoGLM表情采集讳莫如深在人工智能驱动的情感计算领域,Open-AutoGLM作为一款开源的多模态语言模型框架,理论上具备解析人类面部微表情并映射至语义情感空间的能力。然而,尽管其技术潜力巨大&#xf…

张小明 2025/12/29 4:32:43 网站建设