当前位置: 首页 > news >正文

免费建站平台官网简答网站开发流程

免费建站平台官网,简答网站开发流程,专业做蜂蜜的网站,互联网公司经营范围有哪些目录 1. 第一题2. 第二题3. 第三题 ⏰ 时间#xff1a;2024/08/19 #x1f504; 输入输出#xff1a;ACM格式 ⏳ 时长#xff1a;2h 本试卷分为单选#xff0c;自我评价题#xff0c;编程题 单选和自我评价这里不再介绍#xff0c;4399的编程题一如既往地抽象#xff… 目录 1. 第一题2. 第二题3. 第三题 ⏰ 时间2024/08/19 输入输出ACM格式 ⏳ 时长2h 本试卷分为单选自我评价题编程题 单选和自我评价这里不再介绍4399的编程题一如既往地抽象明明是NLP岗位的笔试题却考了OpenCV相关的知识。btw跟网友讨论了下4399似乎不同时间节点的笔试题是一样的 1. 第一题 第一题是LC原题441. 排列硬币题目和题解请前往LC查看。 2. 第二题 题目描述 请使用OpenCV库编写程序实现在视频文件中实时追踪一个人手持手机绿幕的四个顶点的坐标。 要求 使用颜色分割技术检测绿幕区域。(8分)使用适当的方法如轮廓检测找到绿幕的四个顶点。(10分)在视频帧中标记出这四个顶点。(8分) 手机绿幕指手机屏幕显示全绿色图片用于后期处理替换为其他界面绿色范围lower_green np.array([35, 100, 100])upper_green np.array([85, 255, 255])。 测试用例 输入green_screen_track.mp4 输出带顶点标记的视频序列帧图片 题解 import cv2 import numpy as nplower_green np.array([35, 100, 100]) upper_green np.array([85, 255, 255])def get_largest_contour(contours): 获取最大轮廓 max_contour max(contours, keycv2.contourArea)return max_contourdef get_four_vertices(contour): 近似轮廓为四边形 epsilon 0.02 * cv2.arcLength(contour, True)approx cv2.approxPolyDP(contour, epsilon, True)if len(approx) 4:return approx.reshape(4, 2)else:return Nonedef main(video_path):cap cv2.VideoCapture(video_path)while cap.isOpened():ret, frame cap.read()if not ret:breakhsv_frame cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)mask cv2.inRange(hsv_frame, lower_green, upper_green)contours, _ cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)if contours:largest_contour get_largest_contour(contours)vertices get_four_vertices(largest_contour)if vertices is not None:for (x, y) in vertices:cv2.circle(frame, (x, y), 5, (0, 0, 255), -1)cv2.polylines(frame, [vertices], isClosedTrue, color(0, 255, 0), thickness2)cv2.imshow(Green Screen Tracking, frame)if cv2.waitKey(1) 0xFF ord(q):breakcap.release()cv2.destroyAllWindows()if __name__ __main__:video_path green_screen_track.mp4main(video_path)3. 第三题 You can use Chinese to answer the questions. Problem Description You need to use the Swin Transformer model to train a binary classifier to identify whether an image contains a green screen. Green screens are commonly used in video production and photography for background replacement in post-production. Your task is to write a program that uses the Swin Transformer model to train and evaluate the performance of this classifier. Input Data Training Dataset: A set of images, including images with and without green screens.Labels: Labels for each image, where 0 indicates no green screen and 1 indicates the presence of a green screen. Output Requirements Trained Model: Train a binary classifier using the Swin Transformer model.Model Evaluation: Evaluate the model’s accuracy, precision, recall, and F1-score on a validation or test set. Programming Requirements Data Preprocessing: Including image loading, normalization, and label processing.Model Definition: Using the Swin Transformer model.Training Process: Including loss function, optimizer, and training loop.Evaluation Process: Evaluate the model’s performance on the validation or test set.Results Presentation: Output evaluation metrics and visualize some prediction results. Here is a sample code framework to help you get started: import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader, Dataset from torchvision import transforms, datasets from swin_transformer_pytorch import SwinTransformer from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score from PIL import Image# Dataset class definition class GreenScreenDataset(Dataset):def __init__(self, image_paths, labels, transformNone):self.image_paths image_pathsself.labels labelsself.transform transformdef __len__(self):return len(self.image_paths)def __getitem__(self, idx):image Image.open(self.image_paths[idx]).convert(RGB)label self.labels[idx]if self.transform:image self.transform(image)return image, label# Data preprocessing, please define transform # TODO# Load datasets train_dataset GreenScreenDataset(train_image_paths, train_labels, transformtransform) train_loader DataLoader(train_dataset, batch_size32, shuffleTrue)val_dataset GreenScreenDataset(val_image_paths, val_labels, transformtransform) val_loader DataLoader(val_dataset, batch_size32, shuffleFalse)# Define the SwinTransformer model # TODO# Loss function and optimizer criterion nn.CrossEntropyLoss() # TODO# Training process def train(model, train_loader, criterion, optimizer, num_epochs10):model.train()for epoch in range(num_epochs):running_loss 0.0for images, labels in train_loader:# TODO: forward pass, compute loss, backpropagation, optimizer steprunning_loss loss.item()print(fEpoch [{epoch1}/{num_epochs}], Loss: {running_loss/len(train_loader):.4f})# Evaluation process def evaluate(model, val_loader):model.eval()all_preds []all_labels []with torch.no_grad():for images, labels in val_loader:outputs model(images)_, preds torch.max(outputs, 1)all_preds.extend(preds.cpu().numpy())all_labels.extend(labels.cpu().numpy())accuracy accuracy_score(all_labels, all_preds)# TODO: Calculate precision, recall, and F1-scoreprint(fAccuracy: {accuracy:.4f}, Precision: {precision:.4f}, Recall: {recall:.4f}, F1-score: {f1:.4f})# Train the model train(model, train_loader, criterion, optimizer, num_epochs10)# Evaluate the model evaluate(model, val_loader)题解 该问题要求训练一个基于Swin Transformer模型的二分类器用以识别图像中是否包含绿幕。解决方案涉及数据预处理、模型设计、训练和评估等多个环节。 首先在数据预处理阶段图像需要被调整大小并进行归一化以满足Swin Transformer的输入需求。此外数据集中的标签是二值化的分别代表有无绿幕0表示无绿幕1表示有绿幕确保数据集类能够准确处理这些标签是至关重要的。在模型设计上使用了预训练的Swin Transformer模型并针对二分类任务进行了微调。输出层被替换为一个具有两个节点的全连接层分别对应两个类别。通过这种方式模型能够有效地适应二分类任务。训练过程采用了标准的训练循环设置了损失函数和优化器并使用学习率调度器动态调整学习率。此外为了防止过拟合模型在训练过程中还应用了正则化技术如dropout。在模型评估阶段除了准确率还使用了精确率、召回率和F1分数等指标以全面评估模型在二分类任务中的表现。同时为了更直观地展示模型效果选择了一些样本图像进行可视化显示它们的预测结果与实际标签的对比。 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader, Dataset from torchvision import transforms from swin_transformer_pytorch import SwinTransformer from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score from PIL import Image import matplotlib.pyplot as plt import numpy as np# 数据集类定义 class GreenScreenDataset(Dataset):def __init__(self, image_paths, labels, transformNone):self.image_paths image_pathsself.labels labelsself.transform transformdef __len__(self):return len(self.image_paths)def __getitem__(self, idx):image Image.open(self.image_paths[idx]).convert(RGB)label self.labels[idx]if self.transform:image self.transform(image)return image, torch.tensor(label, dtypetorch.long)# 数据预处理 transform transforms.Compose([transforms.Resize((224, 224)),transforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ])train_dataset GreenScreenDataset(train_image_paths, train_labels, transformtransform) train_loader DataLoader(train_dataset, batch_size32, shuffleTrue)val_dataset GreenScreenDataset(val_image_paths, val_labels, transformtransform) val_loader DataLoader(val_dataset, batch_size32, shuffleFalse)model SwinTransformer(hidden_dim96,layers(2, 2, 6, 2),num_heads(3, 6, 12, 24),num_classes2,window_size7,input_resolution224 ) model model.to(torch.device(cuda if torch.cuda.is_available() else cpu))criterion nn.CrossEntropyLoss() optimizer optim.AdamW(model.parameters(), lr1e-4, weight_decay0.01) scheduler torch.optim.lr_scheduler.StepLR(optimizer, step_size5, gamma0.1)# 训练 def train(model, train_loader, criterion, optimizer, scheduler, num_epochs10):model.train()for epoch in range(num_epochs):running_loss 0.0for images, labels in train_loader:images, labels images.to(device), labels.to(device)optimizer.zero_grad()outputs model(images)loss criterion(outputs, labels)loss.backward()optimizer.step()running_loss loss.item()scheduler.step()print(fEpoch [{epoch1}/{num_epochs}], Loss: {running_loss/len(train_loader):.4f})# 模型评估 def evaluate(model, val_loader):model.eval()all_preds []all_labels []with torch.no_grad():for images, labels in val_loader:images, labels images.to(device), labels.to(device)outputs model(images)_, preds torch.max(outputs, 1)all_preds.extend(preds.cpu().numpy())all_labels.extend(labels.cpu().numpy())accuracy accuracy_score(all_labels, all_preds)precision precision_score(all_labels, all_preds)recall recall_score(all_labels, all_preds)f1 f1_score(all_labels, all_preds)print(fAccuracy: {accuracy:.4f}, Precision: {precision:.4f}, Recall: {recall:.4f}, F1-score: {f1:.4f})return all_preds, all_labels# 可视化 def visualize_predictions(val_loader, model):model.eval()images, labels next(iter(val_loader))images, labels images.to(device), labels.to(device)outputs model(images)_, preds torch.max(outputs, 1)images images.cpu().numpy()preds preds.cpu().numpy()labels labels.cpu().numpy()# 可视化前6个样本plt.figure(figsize(12, 8))for i in range(6):plt.subplot(2, 3, i 1)image np.transpose(images[i], (1, 2, 0))image image * np.array([0.229, 0.224, 0.225]) np.array([0.485, 0.456, 0.406]) # 反归一化image np.clip(image, 0, 1)plt.imshow(image)plt.title(fPred: {preds[i]}, Actual: {labels[i]})plt.axis(off)plt.show()device torch.device(cuda if torch.cuda.is_available() else cpu) train(model, train_loader, criterion, optimizer, scheduler, num_epochs10) all_preds, all_labels evaluate(model, val_loader) visualize_predictions(val_loader, model)
http://www.hkea.cn/news/14332660/

相关文章:

  • 官方网站查询叉车证广西建筑工程网
  • 企业网站建设的基本流程自己动手建立网站3
  • 昆明php网站建设精品课程网站建设的背景及意义
  • 国际网站怎么样做石家庄seo结算
  • php mysql网站开发全程实例pdf旅游网站开发的意义
  • 深圳制作网站的公司哪家好玄武区网站建设
  • 西安建设手机网站五金网站模板
  • 合适做服装的国际网站a00000网站建设丽丽
  • 门窗厂家东莞网站建设南京江北新区包括哪些地方
  • 淘宝网站建设方案模板下载服务好的丹阳网站建设
  • 商业网站最佳域名没有做老千的斗牛网站
  • 广州网站推广公司wordpress易语言登录
  • 更换域名对网站的影响北京网站改版有哪些好处
  • 网站运营小结广告设计公司宣传海报
  • 滕州建网站哪家好手机网站怎么解析
  • 预约小程序模板江门排名优化公司
  • 三亚网站定制开发公司php网站后台访问统计分析
  • 59网一起做网站wordpress发布心情
  • 上海网站空间租用一级a做爰片免费网站下载
  • 网站建设是半年的持久战网站建设三网合一指的是什么
  • 昆明网站关键词优化58同城招聘 招聘网
  • 济南网站建设外包公司排名咸宁响应式网站建设价格
  • 自媒体网站建设论文重庆金山建设监理有限公司网站
  • wordpress 软件站主题免费网站网络推广
  • 泉州网站建设维护网店推广有哪些新思维
  • 仿魔客吧网站模板关于网站建设的意见
  • php网站建设的毕设报告山东有哪些网络公司
  • 推荐网站建设服务话术wordpress收起边栏
  • 做盗版网站 国外服务器密云郑州阳网站建设
  • 满山红网站建设公司o2o 电商网站 微商城 ppt