3D模型文件(STL格式)Python读取并解析体积、长、宽、高信息

使用Python对stl文件的处理依赖Python的 numpynumpy-stl 模块。

下面是一段代码,用于计算stl文件中模型的体积、长、宽、高等信息。

import os
import numpy as np
from stl import mesh

your_mesh = mesh.Mesh.from_file('dog.stl')
volume, cog, inertia = your_mesh.get_mass_properties()
xyz = (your_mesh.max_ - your_mesh.min_)
sizel = round(xyz[0] / 10, 2)
sizew = round(xyz[1] / 10, 2)
sizeh = round(xyz[2] / 10, 2)

体积可以直接通过 get_mass_properties 方法获取。
模型的长宽高信息需要通过 your_mesh.max_your_mesh.min_ 相减,获取到x、y、z三个方向上的长度。

### 如何查看 YOLO 模型体积大小 要查看 YOLO 模型体积大小,可以通过多种方式来评估模型文件的实际尺寸以及参数的数量。以下是具体方法: #### 1. 文件大小 YOLO 模型通常以 `.weights` 或其他格式保存,在操作系统层面可以直接通过命令行工具或图形界面获取其文件大小。 对于 Linux/MacOS 用户,可以运行以下命令: ```bash ls -lh model.weights ``` 这会显示模型文件的具体大小(单位通常是 KB/MB)。此操作适用于任何存储在磁盘上的模型文件[^2]。 #### 2. 参数数量 除了文件本身的物理大小外,还可以统计模型中的总参数量。这是衡量模型复杂度的重要指标之一。假设我们已经加载了一个 PyTorch 实现的 YOLO 模型,则可通过如下代码计算参数总数: ```python import torch from torchvision import models def count_parameters(model): return sum(p.numel() for p in model.parameters()) model = ... # 加载您的 YOLO 模型实例 total_params = count_parameters(model) print(f'Total number of parameters: {total_params}') ``` 上述脚本能够打印出整个网络结构中可训练参数的确切数目。注意,不同版本的 YOLO 架构可能具有显著不同的参数规模。 #### 3. 存储效率分析 有时即使两个模型拥有相似甚至相同的参数计数,它们占用硬盘空间也可能存在差异。这是因为权重值编码精度、框架特定元数据等因素都会影响最终导出文件的真实容量。例如 Darknet 默认采用二进制格式记录权值信息而 TensorFlow SavedModel 则倾向于更冗的人类可读形式描述图层连接关系等附加细节[^3]。 因此当比较多个预训练好的检测器方案时不仅要看理论上的浮点运算次数(FLOPs),也要实际测量各自序列化后的压缩效果以便做出最佳选择决策。 ---
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ucsheep

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值