96SEO 2026-02-19 21:04 14
。

包括环境准备、下载数据集、数据采样、数据集加载和预处理、构建模型、损失函数、模型训练、模型评估等。
AI框架使用SSD目标检测算法对图像内容识别的过程、步骤和方法。
包括环境准备、下载数据集、数据采样、数据集加载和预处理、构建模型、损失函数、模型训练、模型评估等。
实验环境已经预装了mindspore2.2.14如需更换mindspore版本可更改下面mindspore的版本号
https://pypi.mirrors.ustc.edu.cn/simple
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
mindspore、download、pycocotools、opencv-python
https://pypi.mirrors.ustc.edu.cn/simple
https://pypi.mirrors.ustc.edu.cn/simple
https://mirrors.bfsu.edu.cn/pypi/web/packages/19/93/5aaec888e3aa4d05b3a1472f331b83f7dc684d9a6b2645709d8f3352ba00/pycocotools-2.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
matplotlib2.1.0-pycocotools2.0.7)
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
matplotlib2.1.0-pycocotools2.0.7)
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
matplotlib2.1.0-pycocotools2.0.7)
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
matplotlib2.1.0-pycocotools2.0.7)
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
matplotlib2.1.0-pycocotools2.0.7)
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
matplotlib2.1.0-pycocotools2.0.7)
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
matplotlib2.1.0-pycocotools2.0.7)
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
matplotlib2.1.0-pycocotools2.0.7)
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
matplotlib2.1.0-pycocotools2.0.7)
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
importlib-resources3.2.0-matplotlib2.1.0-pycocotools2.0.7)
/home/nginx/miniconda/envs/jupyter/lib/python3.9/site-packages
python-dateutil2.7-matplotlib2.1.0-pycocotools2.0.7)
https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/datasets/ssd_datasets.zip
https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/datasets/ssd_datasets.zip
100%|███████████████████████████|
./datasets/annotations/instances_val2017.json
enumerate(train_cls):train_cls_dict[cls]
采样区域和原始图片最小的交并比重叠为0.1,0.3,0.5,0.7或0.9
ssd_bboxes_encode(boxes):Labels
jaccard_with_anchors(bbox):Compute
default_boxes[index]bboxes_t[:,
np.array([len(np.nonzero(t_label)[0])],
dataset.cv2.setNumThreads(2)def
create_ssd_dataset(mindrecord_file,
use_multiprocessingTrue):Create
num_shardsdevice_num,shard_idrank,
num_parallel_workersnum_parallel_workers,
input_columns[image])change_swap_op
RandomColorAdjust(brightness0.4,
change_swap_op]else:output_columns
dataset.map(operationscompose_map_func,
annotation],output_columnsoutput_columns,
python_multiprocessinguse_multiprocessing,num_parallel_workersnum_parallel_workers)dataset
python_multiprocessinguse_multiprocessing,num_parallel_workersnum_parallel_workers)dataset
SSD使用第4、7、8、9、10和11这6个卷积层得到的特征图
6个特征图上的每一个点分别对应4、6、6、6、4、4个PriorBox。
利用特征图的特征预测每个PriorBox对应类别与位置的预测量
_make_layer(channels):in_channels
channels[1:]:layers.append(nn.Conv2d(in_channelsin_channels,
kernel_size3))layers.append(nn.ReLU())in_channels
nn.SequentialCell([depthwise_conv,
FlattenConcat(nn.Cell):FlattenConcat
__init__(self):super(FlattenConcat,
self).__init__()self.num_ssd_boxes
enumerate(out_channels):loc_layers
nn.CellList(loc_layers)self.multi_cls_layers
nn.CellList(cls_layers)self.flatten_concat
range(len(self.multi_loc_layers)):loc_outputs
(self.multi_loc_layers[i](inputs[i]),)cls_outputs
(self.multi_cls_layers[i](inputs[i]),)return
self.flatten_concat(loc_outputs),
self.flatten_concat(cls_outputs)class
SSD300Vgg16(nn.Cell):SSD300Vgg16
__init__(self):super(SSD300Vgg16,
self.multi_box(multi_feature)if
ops.sigmoid(pred_label)pred_loc
pred_loc.astype(ms.float32)pred_label
pred_label.astype(ms.float32)return
ops.ones_like(logits)pos_weight
ops.ones_like(logits)sigmiod_cross_entropy
ops.binary_cross_entropy_with_logits(logits,
pos_weight.astype(ms.float32))sigmoid
apply_eval(eval_param_dict):net
eval_param_dict[net]net.set_train(False)ds
eval_param_dict[dataset]anno_json
eval_param_dict[anno_json]coco_metrics
COCOMetrics(anno_jsonanno_json,classestrain_cls,num_classes81,max_boxes100,nms_threshold0.6,min_score0.1)for
ds.create_dict_iterator(output_numpyTrue,
range(img_np.shape[0]):pred_batch
output[0].asnumpy()[batch_idx],box_scores:
output[1].asnumpy()[batch_idx],img_id:
int(np.squeeze(img_id[batch_idx])),image_shape:
image_shape[batch_idx]}coco_metrics.update(pred_batch)eval_metrics
coco_metrics.get_metrics()return
enumerate(classes)}self.coco_gt
self.coco_gt.loadCats(self.coco_gt.getCatIds())self.class_dict
[]self.img_ids.append(img_id)for
self.num_classes):class_box_scores
class_box_scores[score_mask]class_boxes
class_boxes[nms_index]class_box_scores
class_box_scores[nms_index]final_boxes
class_boxes.tolist()final_score
class_box_scores.tolist()final_label
[self.class_dict[self.val_cls_dict[c]]]
labelself.predictions.append(res)def
self.coco_gt.loadRes(predictions.json)E
self.img_idsE.evaluate()E.accumulate()E.summarize()return
ckpt_path):super(SsdInferWithDecoder,
ms.load_checkpoint(ckpt_path)ms.load_param_into_net(network,
default_boxesself.prior_scaling_xy
archor_sizes).self.default_boxes
math.sqrt(aspect_ratio)all_sizes.append((w,
it.product(range(feature_size),
fk[idex]self.default_boxes.append([cy,
calculationself.default_boxes_tlbr
dtypefloat32)self.default_boxes
GeneratDefaultBoxes().default_boxes_tlbr
GeneratDefaultBoxes().default_boxes
initialize_modeTruncatedNormal):Init
TruncatedNormal:p.set_data(initializer(TruncatedNormal(0.02),
p.data.dtype))else:p.set_data(initialize_mode,
np.array(lr_each_step).astype(np.float32)learning_rate
ds.config.set_enable_shared_mem(False)
./datasets/MindRecord_COCO/ssd.mindrecord0
create_ssd_dataset(mindrecord_file,
next(dataset.create_tuple_iterator())
gt_label).astype(ms.float32)num_matched_boxes
ops.sum(num_matched_boxes.astype(ms.float32))
num_matched_boxes)opt(grads)return
range(60):network.set_train(True)begin_time
enumerate(dataset.create_tuple_iterator()):loss
begin_timeprint(fEpoch:[{int(epoch
调用SsdInferWithDecoder类返回预测的坐标及标签
./datasets/MindRecord_COCO/ssd_eval.mindrecord0
create_ssd_dataset(dataset_path,
batch_sizebatch_size,is_trainingFalse,
batch_sizeprint(\n\n)print(total
apply_eval(eval_param_dict)print(\n\n)print(fmAP:
Eval!)ssd_eval(mindrecord_file,
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback