#人工智能系统设计
class MyNet(nn.Module):
def __init__(self):
super(MyNet, self) .__init__()
self fc1 = nn.Linear(14, 128)
self bn1 = nn.BaBatchNorm1d(128)
self relu = nn.ReLU()
#第二层
self fc2 = nn.Linear(128, 256)
self bn2 = nn.BaBatchNorm1d(256)
self relu = nn.ReLU()
#第三层
self fc3= nn.Linear(256, 2)
def forward(self, x):
x = self.fc1(x)
x = self.bn1(x)
x = self.relu(x)
x = self.fc2(x)
x = self.bn2(x)
x = self.relu(x)
out = self.fc3(x)
return out
流程图:读取XX数据 检查数据是否正确 是 数据清洗 数据分析出来 模型加载 根据模型进行推理 输出相应结果 结束
#神经网络练习
from torchvision import datasets
#划分数据集
folder = datasets.ImageFolder(root='c:/水果种类智能训练/水果图片', transfrom =trans_compose)
n = len(folder)
n1 = int(n*0.8)
n2 = n-n1
#基于torch工具包的random_split函数进行数据集的划分,分别赋值为train和test
train, test = random_split(folder, [n1,n2])
device = torch.device("cpu")
batchX = batchX.to(device)
batchY = batchY.to(device)
model = model.to(device)
#清零梯度
optimizer.zero_grad()
#向前传播
outputs = model(batchX)
#计算损失
loss = lossf(outputs, batchY)
#反向传播
loss.backward()
#更新模型参数
optimizer.step()
#计算准确率
preds = torch.argmax(outputs, dim=1)
metricsf.update(preds, batchY)
#每个 epoch 结束后打印损失和准确率
epoch_loss = loss.item
epoch_accuracy = metricsf.compute()
print(f'Epoch {i + 1}, Loss: {epoch_loss:.4f},Accuracy: {epoch_accuracy:.4f}')
#置评估指标
metricsf.reset()
#保存模型(将“2-2model_test.pth“文件保存)
torch.save(model.state_dict(), '2-2model_test.pth')
print("模型已经保存为 2-2model_test.pth")
#gs程序分析
(1)网络爬虫主要搜索策略及特点(自己使用ai改写到自己能背的情况)
广度优先搜索(BFS):从起始网页开始,先访问完同一层的所有网页,再进入下一层。特点是能较为全面地覆盖网页,不会遗漏较近层次的网页,但可能会消耗较多资源在遍历大量无关网页上。
深度优先搜索(DFS):从起始网页出发,沿着一条路径一直深入访问下去,直到无法继续,再回溯到其他分支。特点是在某些主题明确的网站结构中,能快速深入挖掘相关内容,但可能会陷入某一深度过深的分支,错过其他重要内容。
大站优先搜索:根据一定的评价函数(如网页与目标主题的相关性、网页的重要性等),优先访问最有可能满足需求的网页。特点是可以提高获取目标数据的效率,集中资源在更有价值的网页上,但评价函数的设计较为关键,会影响搜索效果。
(2)流程图完善
(a)处:判断文件是否为图像文件(可通过文件扩展名判断是否为常见图像格式,如.png、.jpg 等 )。
(b)处:判断图像文件是否为.png 格式。(tif根据题目要求改)
(c)处:判断图像文件分辨率是否为 x x y(根据题目要求改) 。
(3)问题及改善(此题用自己的话回答 不能直接照抄下面的)
问题:严格按格式和分辨率筛,会丢有用图像致数据不足,且仅靠扩展名判格式易误筛。改进:使用Opencv库进行图像处理。
if filename.lowe().endwith('png'):
# 此行要背
image_path = os.path.join(input_folder, filename)
with Image.open(image_path) as img:
if img.size != (100,100)
# 此行要背
continue
output_path = os.path.join(output_folder, filename)
img.save(output_path)
数据采集培训大纲(以下为参考,自己要修改,与下面一致的会造成雷同)
- 基础认知:明晰数据采集概念、重要性与应用场景。
- 方法技巧:讲授多种采集方式,涵盖网络、传感器等,分享实操窍门。
- 工具运用:熟练掌握 Excel、Python 等工具用于数据获取与整理。
常见问题及解决方法(选2条背)
- 目标不明确
- 问题:未清晰界定采集数据的用途与范围,导致收集大量无关数据,遗漏关键信息。比如市场调研时,不清楚要分析用户哪类消费行为,盲目收集。
- 解决方法:项目启动前,组织跨部门会议,与业务、分析团队深入沟通,基于业务需求和分析目的,详细梳理数据需求清单,明确数据用途、范围、字段及预期成果。
- 样本偏差
- 问题:选取样本缺乏代表性,如调查城市居民出行方式,仅在高档社区采样,无法反映整体情况。
- 解决方法:运用科学抽样方法,像分层抽样,按城市区域、收入水平等分层后随机抽取;扩大样本覆盖范围,涵盖不同特征群体,必要时用统计方法评估样本代表性。
- 数据来源不可靠
- 问题:采用劣质数据源,像某些非官方网站数据,可能存在错误、过时或被篡改,影响数据质量。
- 解决方法:优先选用官方机构、权威数据库等可靠数据源;对新数据源,先小范围验证数据准确性,对比多个来源数据,分析差异。
- 采集方法不当
- 问题:不匹配数据特性与采集手段,如用访谈收集大规模用户行为数据,效率低且易有主观误差。
- 解决方法:依据数据类型(结构化、非结构化等)和规模,合理选择采集方法,如大规模行为数据用埋点技术,文本数据用网络爬虫;结合多种方法交叉验证数据。
- 技术故障
- 问题:采集工具或系统出现故障,如网络爬虫被网站反爬机制阻断,导致数据中断或丢失。
- 解决方法:定期维护采集工具和系统,升级软件版本;针对爬虫被阻,采用 IP 代理池、模拟人类浏览行为等策略绕过反爬;设置数据备份机制,实时或定时备份采集数据。
- 数据重复采集
- 问题:缺乏统一规划,不同部门或环节重复收集相同数据,浪费资源。
- 解决方法:建立企业级数据管理平台,梳理各部门数据需求,绘制数据地图,明确各数据归属与采集责任;制定数据共享规范,促进部门间数据流通。
- 隐私与合规问题
- 问题:采集敏感个人信息未获授权,或违反行业法规,面临法律风险。
- 解决方法:设立数据合规官,负责解读法规政策;采集前向用户明确告知数据用途、范围、存储方式,获用户同意;加密敏感数据,遵循 “最小必要” 原则采集。