MXNet 模型部署全攻略:从 ONNX 导出、多语言推理到 AWS 云端实战
MXNet 模型部署全攻略从 ONNX 导出、多语言推理到 AWS 云端实战【免费下载链接】mxnetLightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more项目地址: https://gitcode.com/gh_mirrors/mxnet1/mxnetMXNet 作为 Apache 旗下支持 Python、R、Julia、Scala、Go 等多种语言的深度学习框架其模型部署一直是开发者关注的重点。本文以仓库中的 deploy 教程目录 为核心骨架系统讲解 MXNet 模型在导出Export、推理Inference、云端Cloud与安全Security四个维度的部署方法与实战要点你将掌握如何将 MXNet 模型导出为 ONNX 格式、如何在 C/Scala 环境与嵌入式设备Raspberry Pi上运行推理、如何在 AWS EC2 与 SageMaker 上训练和托管模型并了解模型部署相关的安全最佳实践。部署全景Export、Inference、Cloud、Security 四大板块MXNet 官方文档将部署主题划分为四个相互衔接的板块覆盖了从训练完成到生产环境运行的完整链路Export模型导出将训练好的模型转换为标准交换格式如 ONNX或保存为 MXNet 原生的 params json 文件对便于跨框架、跨平台迁移。Inference推理部署把模型部署到具体应用环境中执行前向推理包括 C、Scala/Java 以及树莓派等嵌入式 ARM 设备。Cloud云端运行借助 AWS 的弹性计算资源进行大规模训练与托管推理涉及 EC2、SageMaker 等云服务。Security安全加固针对生产环境部署的安全最佳实践与注意事项。这一结构正是 deploy/index.rst 的编排逻辑文档用一组卡片式导航将上述四个板块聚合在一起并在页面底部的 toctree 中挂载了 export/index、inference/index 与 run-on-aws/index 三个子索引。下面我们沿着这条链路逐一深入。模型导出从 MXNet 原生格式到 ONNXMXNet 模型默认以params与json两个文件导出json文件描述网络结构symbolparams文件保存训练得到的参数arg_params 与 aux_params。这种结构 参数的分离设计是 MXNet 模型交换的基础mx.model.load_checkpoint正是按此约定加载模型的见 python/mxnet/model.py。除了原生格式MXNet 还提供了ONNXOpen Neural Network Exchange导出能力使模型可以被 PyTorch、Caffe2、TensorRT 等支持 ONNX 的框架直接加载推理。ONNX 定义了一种可扩展的计算图模型并附带内置算子与标准数据类型的规范。本节内容对应 export/onnx.md。环境准备导出前需要安装以下 Python 模块MXNet 1.3.0onnx v1.2.1注意MXNet 的 ONNX 导入/导出功能遵循 ONNX v1.2.1 对应的operator set version 7使用时请保持 onnx 库版本与此匹配。导入相关模块import mxnet as mx import numpy as np from mxnet.contrib import onnx as onnx_mxnet import logging logging.basicConfig(levellogging.INFO)下载预训练模型以 ImageNet 上预训练的 ResNet-18 为例从 MXNet Model Zoo 下载模型的 json、params 文件以及用于标签匹配的 synset 文件# Download pre-trained resnet model - json and params by running following code. pathhttp://data.mxnet.io/models/imagenet/ [mx.test_utils.download(pathresnet/18-layers/resnet-18-0000.params), mx.test_utils.download(pathresnet/18-layers/resnet-18-symbol.json), mx.test_utils.download(pathsynset.txt)]mx.test_utils.download是 MXNet 测试工具库中提供的便捷下载函数见 python/mxnet/test_utils.py也常用于快速获取示例模型与数据集。export_model API 详解MXNet 的 ONNX 导出核心 API 是mxnet.contrib.onnx.mx2onnx.export_model其函数签名如下源码见 python/mxnet/contrib/onnx/mx2onnx/export_model.pyexport_model(sym, params, input_shape, input_typenp.float32, onnx_file_pathmodel.onnx, verboseFalse)各参数含义参数类型说明symstr 或 Symbol 对象指向 json 文件的路径或 Symbol 对象paramsstr 或 参数字典指向 params 文件的路径或参数字典需同时包含 arg_params 与 aux_paramsinput_shapeList of tuple模型的输入形状例如[(1,3,224,224)]input_type数据类型输入数据类型例如np.float32onnx_file_pathstr生成的 ONNX 文件保存路径默认model.onnxverboseBoolean为 True 时打印模型转换过程日志返回str生成的 ONNX 文件路径该 API 接受两种形式的 MXNet 模型输入MXNet sym / params 对象适合训练场景。训练结束时直接传入当前会话中的 Symbol 与参数字典即可将模型保存为 ONNX 格式。MXNet 导出的 json / params 文件适合已有预训练模型文件、需要批量转格式的场景。由于我们已经下载了预训练模型文件下面使用第二种方式# Downloaded input symbol and params files sym ./resnet-18-symbol.json params ./resnet-18-0000.params # Standard Imagenet input - 3 channels, 224*224 input_shape (1,3,224,224) # Path of the output file onnx_file ./mxnet_exported_resnet50.onnx # Invoke export model API. It returns path of the converted onnx model converted_model_path onnx_mxnet.export_model(sym, params, [input_shape], np.float32, onnx_file)转换成功后converted_model_path即为生成的 ONNX 模型路径可供其他框架导入使用。校验 ONNX 模型合法性导出完成后可以使用 ONNX 自带的 checker 工具验证模型是否符合 protobuf 规范from onnx import checker import onnx # Load onnx model model_proto onnx.load_model(converted_model_path) # Check if converted ONNX protobuf is valid checker.check_graph(model_proto.graph)若转换出的 protobuf 不满足 ONNX 规范checker 会抛出错误校验通过后模型即可被其他框架加载进行推理。值得一提的是MXNet 的 ONNX 算子覆盖范围会随版本更新持续扩展具体算子支持情况可查阅项目维护的算子覆盖页。模型保存 / 加载的补充除了 ONNX 导出MXNet 还支持通过 Gluon 高层 API 直接保存与加载网络参数对应 export/index.rst 中指向的 Save / Load Parameters 教程。对于 Gluon 模型通常使用net.save_parameters与net.load_parameters完成参数的持久化对于 Symbol/Module 流程则使用mx.model.save_checkpoint与mx.model.load_checkpoint完成 checkpoint 的读写两种方式都遵循结构 json 参数 params的文件组织约定。推理部署多语言与嵌入式场景模型导出之后便进入推理阶段。MXNet 的推理部署覆盖了服务端与边缘端两大类场景见 inference/index.rstC 环境面向高性能服务端推理可使用 MXNet C API 加载模型对应 inference/cpp.rst。Scala / Java 环境面向 JVM 生态的推理集成对应 inference/scala.rst。嵌入式 ARM 设备在树莓派等设备上运行轻量级实时推理详见 inference/wine_detector.md。此外若使用 GluonCV 训练的目标检测模型如 YOLO官方还提供了 C 推理示例与基于量化模型INT8的高性能推理方案——后者可在 Intel Xeon 处理器上获得更高推理吞吐适合对性能敏感的生产环境。以下重点展开树莓派实时推理这一完整实战链路。在树莓派上构建 MXNet树莓派Raspberry Pi 31GB 内存运行 Raspbian Wheezy 或更新版本系统配合 PiCamera 摄像头模块与 cv2 库即可构建端侧实时目标识别应用。第一步是使用 ARM 编译参数从源码构建带 Python 绑定的 MXNet 库参考 MXNet 官方构建指南安装依赖并使用针对 ARM 架构的编译标志完成编译务必开启 OpenCV 支持——后续的图像处理依赖 cv2 完成注册 Python 绑定后在 REPL 中验证安装python import mxnet as mx若在此步骤或后续任何步骤遇到memory allocation failed错误通常是因为完整 MXNet 库加载时占用了大量内存可考虑关闭 GUI 及其他占用内存的进程。运行预训练 Inception 模型使用 Model Zoo 中基于 ImageNet 训练的 batch-normalized Inception 网络Inception_BN作为识别模型。先下载并解压模型文件curl --header Host: data.mxnet.io --header User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Firefox/45.0 --header Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8 --header Accept-Language: en-US,en;q0.5 --header Referer: http://data.mxnet.io/models/imagenet/ --header Connection: keep-alive http://data.mxnet.io/models/imagenet/inception-bn.tar.gz -o inception-bn.tar.gz -L tar -xvzf inception-bn.tar.gz mv Inception_BN-0039.params Inception_BN-0000.params编写推理脚本inception_predict.py核心流程为加载 checkpoint → 构建 Module 并绑定参数 → 前向传播取 Top-N 预测# inception_predict.py import mxnet as mx import numpy as np import time import cv2, os, urllib from collections import namedtuple Batch namedtuple(Batch, [data]) # Load the symbols for the networks with open(synset.txt, r) as f: synsets [l.rstrip() for l in f] # Load the network parameters sym, arg_params, aux_params mx.model.load_checkpoint(Inception-BN, 126) # Load the network into an MXNet module and bind the corresponding parameters mod mx.mod.Module(symbolsym, contextmx.cpu()) mod.bind(for_trainingFalse, data_shapes[(data, (1,3,224,224))]) mod.set_params(arg_params, aux_params) def predict(filename, mod, synsets, N5): tic time.time() img cv2.cvtColor(cv2.imread(filename), cv2.COLOR_BGR2RGB) if img is None: return None img cv2.resize(img, (224, 224)) img np.swapaxes(img, 0, 2) img np.swapaxes(img, 1, 2) img img[np.newaxis, :] print pre-processed image in str(time.time()-tic) toc time.time() mod.forward(Batch([mx.nd.array(img)])) prob mod.get_outputs()[0].asnumpy() prob np.squeeze(prob) print forward pass in str(time.time()-toc) topN [] a np.argsort(prob)[::-1] for i in a[0:N]: print(probability%f, class%s %(prob[i], synsets[i])) topN.append((prob[i], synsets[i])) return topN # Code to download an image from the internet and run a prediction on it def predict_from_url(url, N5): filename url.split(/)[-1] urllib.urlretrieve(url, filename) img cv2.imread(filename) if img is None: print Failed to download else: return predict(filename, mod, synsets, N) # Code to predict on a local file def predict_from_local_file(filename, N5): return predict(filename, mod, synsets, N)这里的代码展示了 MXNet 推理的标准调用链mx.model.load_checkpoint加载结构与参数源码见 python/mxnet/model.pymx.mod.Module将模型封装为可执行的模块bind(for_trainingFalse, data_shapes[(data, (1,3,224,224))])指定推理模式与输入张量形状set_params装载权重最后通过mod.forward完成前向计算。在 REPL 中测试python from inception_predict import * predict_from_url(https://i.imgur.com/HzafyBA.jpg)预期输出对一张毛茸茸的奶牛图片的 Top-5 预测pre-processed image in 0.20366191864 forward pass in 63.2164611816 probability0.718524, classn02403003 ox probability0.176381, classn02389026 sorrel probability0.095558, classn03868242 oxcart probability0.002765, classn02408429 water buffalo, water ox, Asiatic buffalo, Bubalus bubalis probability0.001262, classn03935335 piggy bank, penny bank基于 PiCamera 的实时视频识别将摄像头捕获的画面逐帧送入预测函数即可实现实时目标识别。创建camera_test.py# camera_test.py import picamera import inception_predict # Create camera interface camera picamera.PiCamera() while True: # Take the jpg image from camera print Capturing filename /home/pi/cap.jpg # Show quick preview of whats being captured camera.start_preview() camera.capture(filename) camera.stop_preview() # Run inception prediction on image print Predicting topn inception_predict.predict_from_local_file(filename, N5) # Print the top N most likely objects in image (default set to 5, change this in the function call above) print topn运行python camera_test.py后每隔几秒会看到一次拍摄预览同时终端输出画面中物体的预测类别。可以转动摄像头对准不同物体观察网络的识别结果。通过 AWS IoT 连接云端将端侧识别结果上云是物联网场景的常见需求。流程如下注册 AWS 账户进入 AWS IoT 控制台注册新设备Thing下载并保存设备对应的 rootCA、Certificate 与 Private Key 到主目录并记录设备影子device shadow的专属 endpoint基于camera_test.py扩展出wine_alerter.py当检测到画面中的物体属于酒瓶类别时通过 MQTT 向云端发布告警消息。wine_alerter.py的关键部分基于 AWS IoT Python SDK 的 MQTT 客户端# wine_alerter.py import AWSIoTPythonSDK from AWSIoTPythonSDK.MQTTLib import AWSIoTMQTTClient import sys import logging import time import getopt import picamera import inception_predict # Read in command-line parameters useWebsocket False host rootCAPath certificatePath privateKeyPath try: opts, args getopt.getopt(sys.argv[1:], hwe:k:c:r:, [help, endpoint, key,cert,rootCA, websocket]) if len(opts) 0: raise getopt.GetoptError(No input parameters!) for opt, arg in opts: if opt in (-h, --help): print(helpInfo) exit(0) if opt in (-e, --endpoint): host arg if opt in (-r, --rootCA): rootCAPath arg if opt in (-c, --cert): certificatePath arg if opt in (-k, --key): privateKeyPath arg if opt in (-w, --websocket): useWebsocket True except getopt.GetoptError: print(usageInfo) exit(1) # Init AWSIoTMQTTClient For Publish/Subscribe Communication With Server myAWSIoTMQTTClient None if useWebsocket: myAWSIoTMQTTClient AWSIoTMQTTClient(basicPubSub, useWebsocketTrue) myAWSIoTMQTTClient.configureEndpoint(host, 443) myAWSIoTMQTTClient.configureCredentials(rootCAPath) else: myAWSIoTMQTTClient AWSIoTMQTTClient(basicPubSub) myAWSIoTMQTTClient.configureEndpoint(host, 8883) myAWSIoTMQTTClient.configureCredentials(rootCAPath, privateKeyPath, certificatePath) # AWSIoTMQTTClient connection configuration myAWSIoTMQTTClient.configureAutoReconnectBackoffTime(1, 32, 20) myAWSIoTMQTTClient.configureOfflinePublishQueueing(-1) # Infinite offline Publish queueing myAWSIoTMQTTClient.configureDrainingFrequency(2) # Draining: 2 Hz myAWSIoTMQTTClient.configureConnectDisconnectTimeout(10) # 10 sec myAWSIoTMQTTClient.configureMQTTOperationTimeout(5) # 5 sec # Connect and subscribe to AWS IoT myAWSIoTMQTTClient.connect() myAWSIoTMQTTClient.subscribe(sdk/test/Python, 1, customCallback) time.sleep(2) # Start the Camera and tell the Server we are alive print Running camera myAWSIoTMQTTClient.publish(sdk/test/Python, New Message: Starting Camera, 0) camera picamera.PiCamera() # Capture forever (this is a modified version of camera_test.py) while True: filename /home/pi/cap.jpg camera.start_preview() camera.capture(filename) camera.stop_preview() topn inception_predict.predict_from_local_file(filename, N5) # Check if either of the top two predictions are wine related and publish a message if it is # you can change wine here to anything you want to alert the server about detecting if wine in topn[0][1] or wine in topn[1][1]: myAWSIoTMQTTClient.publish(sdk/test/Python, New Message: WINE DETECTED!, 0)运行方式基于证书的双向认证端口 8883也可使用-w走 MQTT over WebSocket端口 443python wine_alerter.py -e endpointURL -r rootCAFilePath -c certFilePath -k privateKeyFilePath实现要点命令行参数-e/--endpoint指定 AWS IoT 自定义 endpoint-r/--rootCA指定根 CA 路径-c/--cert指定设备证书-k/--key指定私钥-w/--websocket切换 WebSocket 模式连接配置离线发布队列设为无限排队、自动重连退避、连接/操作超时等参数均可通过 SDK 配置告警逻辑判断 Top-2 预测标签中是否包含wine命中即向sdk/test/Python主题发布消息——将wine替换为 ImageNet-11k 数据集中的任意类别标签即可实现任意目标告警可靠性即使网络周期性中断AWS IoT 也会在网络恢复后补发消息保证告警不丢失。在 AWS IoT 控制台打开对应 Thing 的 Activity 页签即可实时查看每次检测到酒瓶时推送到服务器的消息。云端部署EC2 与 SageMaker深度学习的训练往往需要强大的算力且使用时长不可预测MXNet 既能利用多 GPU也能跨多机扩展因此弹性云资源特别适合 MXNet 训练见 run-on-aws/cloud.md。官方列出了四种在 AWS 上使用 MXNet 的方式使用 Amazon SageMaker使用带 Conda 的 AWS Deep Learning AMI使用 AWS Deep Learning Container在 AWS Deep Learning Base AMI 上自行安装 MXNet。在 EC2 上部署 MXNetEC2 路线适合需要完全掌控环境、按需分配 GPU 资源的场景详见 run-on-aws/use_ec2.rst操作步骤如下选择 AMI在 EC2 控制台点击 Launch instance选择带最新深度学习框架的 Deep Learning AMI教程使用 Deep Learning AMI (Ubuntu) Version 19.0。这类 AMI 已内置全部必要包与驱动且使用针对 AWS 实例优化的二进制可加速模型训练与推理。选择实例类型教程选择p2.xlarge单块 Nvidia K80 GPU。如需对比更多实例规格与费用可参考 ec2instances.info。检查实例配额确认账户的实例限制允许请求对应资源若超限可通过控制台链接申请提高容量通常约一个工作日处理完成。调整磁盘将默认 8GB 磁盘扩容至 40GB 以存放数据集大规模数据集可添加新卷若选择p3.8xlarge等高性能 GPU 实例建议卷类型选择 Provisioned IOPS 以获得更好 I/O 性能。配置 SSH 密钥启动前选择或新建 SSH key。连接实例启动后状态变绿右键选择 Connect 获取登录指令使用给定地址 SSH 登录。登录后终端会列出可用的 conda 环境对应不同深度学习框架、CUDA 驱动与 Python 版本通过conda activate切换环境例如切换到 MXNet Python 3.6 环境。开始训练后可使用nvidia-smi监控 GPU 状态。使用 Amazon SageMaker 训练与托管SageMaker 提供了更托管的体验开箱即用地支持 MXNet 的 Jupyter notebook 环境CPU 实例可享受免费额度而更强的 CPU 或 GPU 实例按使用时长计费详见 run-on-aws/use_sagemaker.rst。在 notebook 中准备并上传 CIFAR-10 数据集import mxnet as mx import sagemaker mx.test_utils.get_cifar10() # Downloads Cifar-10 dataset to ./data sagemaker_session sagemaker.Session() inputs sagemaker_session.upload_data(pathdata/cifar, key_prefixdata/cifar10)通过 SageMaker SDK 的Estimator封装训练任务无需手动配置与登录 EC2 实例from sagemaker.mxnet import MXNet as MXNetEstimator estimator MXNetEstimator(entry_pointtrain.py, rolesagemaker.get_execution_role(), train_instance_count1, train_instance_typelocal, hyperparameters{batch_size: 1024, epochs: 30}) estimator.fit(inputs)要点说明train_instance_type决定训练算力需要更强算力时只需修改该参数调用fit后 SageMaker 会自动创建所需 EC2 实例、在 Docker 容器内完成训练并立即释放实例按实际使用计费entry_point指向描述模型与训练循环的脚本如train.py该脚本需实现 SageMaker 约定的若干函数供训练与部署阶段自动调用模型就绪后通过 SageMaker 托管服务创建 HTTPS 推理端点predictor estimator.deploy(initial_instance_count1, instance_typeml.m4.xlarge)SageMaker 还支持多机分布式训练、超参数调优任务、SageMaker Neo 模型优化、Ground Truth 数据集构建等进阶能力可将训练、调优与推理托管整合到同一条流水线中。部署安全要点生产环境的模型部署还需要关注安全加固。官方 FAQ 中专门提供了 Securing MXNet 的最佳实践与部署注意事项见 deploy/index.rst 中 Security 板块的链接核心思路包括凭证与密钥管理AWS IoT/云服务场景中的证书、私钥等敏感文件应妥善保管遵循最小权限原则模型文件完整性生产环境中加载的模型文件json/params 或 ONNX protobuf应来自可信来源必要时校验其完整性网络与端口安全推理服务对外暴露时合理配置安全组与访问控制仅在必要时开放端口。安全策略需要结合具体的部署形态自建服务器、云实例或边缘设备因地制宜但凭证保护 文件校验 网络隔离是跨场景通用的基本盘。部署方案选型小结综合以上内容可以按场景选择部署路径场景推荐路径关键文件跨框架模型交换ONNX 导出export/onnx.md高性能服务端推理C / Scala 推理inference/index.rst边缘设备实时识别树莓派 AWS IoTinference/wine_detector.md弹性云端训练EC2 / SageMakerrun-on-aws/use_ec2.rst、use_sagemaker.rst生产安全加固Securing MXNet 最佳实践deploy/index.rst Security 板块掌握导出 — 推理 — 上云 — 加固这条完整链路即可将 MXNet 模型从训练环境平滑地迁移到目标生产环境无论是通过 ONNX 打通跨框架生态、在 C/Scala/嵌入式设备中提供推理服务还是借助 AWS 弹性资源完成大规模训练与托管推理都能找到对应的成熟方案与可落地的操作步骤。【免费下载链接】mxnetLightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more项目地址: https://gitcode.com/gh_mirrors/mxnet1/mxnet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Gatsby 的 gatsby-link 包:Link 组件、路径前缀与预取机制的源码级解析

Gatsby 的 gatsby-link 包:Link 组件、路径前缀与预取机制的源码级解析

Gatsby 的 gatsby-link 包:Link 组件、路径前缀与预取机制的源码级解析 【免费下载链接】gatsby React-based framework with performance, scalability, and security built in. 项目地址: https://gitcode.com/gh_mirrors/ga/gatsby gatsby-link 是 Gatsby…

2026/9/23 0:10:55 阅读更多 →
Readest FireOS 导入失效问题(1217)源码剖析:Android Activity 重建与文件选择器结果丢失的根因与修复

Readest FireOS 导入失效问题(1217)源码剖析:Android Activity 重建与文件选择器结果丢失的根因与修复

Readest FireOS 导入失效问题(#1217)源码剖析:Android Activity 重建与文件选择器结果丢失的根因与修复 【免费下载链接】readest Readest is a modern, feature-rich ebook reader designed for avid readers offering seamless cross-platf…

2026/9/23 4:17:24 阅读更多 →
Python知识点背诵手册:从入门到面试的完整知识框架

Python知识点背诵手册:从入门到面试的完整知识框架

简介:Python知识点背诵手册是一份面向初学者的分章节知识梳理文档,聚焦Python核心语法与常用编程范式。内容覆盖基础数据类型(整型、浮点型、字符串、列表、字典等)、缩进与注释、条件与循环、函数与高阶函数、模块和包、异常处理…

2026/9/24 18:54:08 阅读更多 →

最新新闻

AI工作流为什么需要微信入口?个人微信API接口在智能应用中的新场景

AI工作流为什么需要微信入口?个人微信API接口在智能应用中的新场景

做AI工作流的团队常陷入一个误区:把精力全放在模型能力和工具链上,对前端入口只挑"技术先进"的渠道——网页Chat、Slack、飞书机器人。结果工作流跑得再顺,用户参与率依然低,因为用户根本不在这些渠道上活跃。微信作为工…

2026/9/24 22:04:06 阅读更多 →
cAdvisor 报错 too many open files:inotify 与文件描述符根因排查指南

cAdvisor 报错 too many open files:inotify 与文件描述符根因排查指南

先讲一段真实经历。有次凌晨被监控告警吵醒,生产环境某个节点的 cAdvisor 容器反复 CrashLoopBackOff,kubectl logs拉下来,关键信息就那么一行:inotify_init: too many open files。第一次碰到的人,大概率会顺手把容器…

2026/9/24 22:04:06 阅读更多 →
香港科大百万奖金创业大赛15周年:硬科技创业者的试金石与连接器

香港科大百万奖金创业大赛15周年:硬科技创业者的试金石与连接器

在创业圈摸爬滚打这些年,我参加过不少赛事评选,也带过队伍去路演。说实话,大部分创业大赛活不过三届——要么奖金慢慢缩水成了噱头,要么平台沦为少数人的自嗨场,真正能持续办下去、口碑还在线的极少。所以当“香港科大…

2026/9/24 22:04:06 阅读更多 →
30天制作20分钟科幻短剧:AI视频生成工作流实操拆解

30天制作20分钟科幻短剧:AI视频生成工作流实操拆解

直接说结论:两个人,没有影视行业背景,用一套以 TapNow 为核心的 AI 生成工作流,30 天做完一部 20 分钟的科幻短剧。这件事在一年前听起来像天方夜谭,但放到现在,技术上已经完全走得通了。我在这 30 天里把整…

2026/9/24 22:04:06 阅读更多 →
WEEX提醒:从1300万港元假App案看,如何辨别真假平台

WEEX提醒:从1300万港元假App案看,如何辨别真假平台

一个名为“WEEX”的App,和官方平台,到底是不是一回事? 最近香港警方披露的一宗数字资产诈骗案,再次把这个问题摆到了台面上。据《星岛头条》报道,一名七旬男子通过WhatsApp收到自称“投资专家”的陌生消息,…

2026/9/24 22:04:06 阅读更多 →
电路板元器件检测:YOLO小目标漏检与密集框调参实战

电路板元器件检测:YOLO小目标漏检与密集框调参实战

简介:本资源面向从事电子制造质检、PCB缺陷检测及YOLO目标检测实战的开发者与研究人员,提供一套可直接用于训练的电路板元器件图像数据集,覆盖目标检测、小目标检测与密集检测等典型场景。压缩包共约2000个文件,以1660个txt标签、…

2026/9/24 22:03:05 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →