license: apache-2.0
tags:

  • tvcnnw
  • cnn-news
  • scene-detection
  • large-model
  • gguf
  • mocode
  • pytorc
    categories:
  • image-classification

TV-CNNW Scene Detection Large Model (10GB+)

模型概述

本模型基于 archive.org TV-CNNW CNN新闻视频数据集训练,用于检测视频场景类型。模型使用PyTorch在GPU (GTX 1060 6GB)上训练,采用深度MLP架构配合辅助记忆层,总参数量超过2.8B。

模型架构

训练核心 (CoreMLP)

  • 架构: 12 → 8192 → 16384 → 6类
  • 训练参数量: 134,438,918 (~512.8 MB)
  • 激活函数: ReLU + Softmax
  • Dropout: 0.2
  • 优化器: Adam (lr=0.001)
  • 损失函数: CrossEntropyLoss
  • 批次大小: 32
  • 训练轮数: 30

完整模型 (含辅助记忆层)

  • 总参数量: 2,818,793,478 (~10.50 GB F32)
  • 训练层参数: 134,438,918
  • 辅助记忆层参数: 2,684,354,560
  • 辅助层结构:
    • aux1: 32768 × 32768 (1.07B params, He初始化)
    • aux2: 32768 × 32768 (1.07B params, He初始化)
    • aux3: 16384 × 32768 (537M params, He初始化)

场景类别 (6类)

ID 类别 描述
0 studio 演播室
1 field_report 现场报道
2 interview 访谈
3 live_coverage 现场直播
4 weather 天气预报
5 documentary 纪录片

输入特征 (12维)

  1. 亮度 (brightness)
  2. 饱和度 (saturation)
  3. R通道均值
  4. G通道均值
  5. B通道均值
  6. 边缘密度
  7. 中心亮度
  8. 肤色比例
  9. 对比度
  10. 纹理
  11. 暖色调比例
  12. 垂直边缘比例

训练结果

  • 准确率: 99.39% (第30轮)
  • 训练时间: 33.9秒 (GTX 1060 GPU)
  • 数据集: 329个CNN新闻视频缩略图样本
  • 数据分布: [10, 80, 20, 80, 59, 80]
  • 特征标准化: (X - mean) / std

GGUF文件结构

GGUF v3格式,32字节对齐,包含以下张量:

张量名 形状 类型 描述
W1 [12, 8192] F32 训练层1权重
b1 [8192] F32 训练层1偏置
W2 [8192, 16384] F32 训练层2权重
b2 [16384] F32 训练层2偏置
W3 [16384, 6] F32 训练层3权重
b3 [6] F32 训练层3偏置
aux1.W [32768, 32768] F32 辅助记忆层1
aux1.b [32768] F32 辅助记忆层1偏置
aux2.W [32768, 32768] F32 辅助记忆层2
aux2.b [32768] F32 辅助记忆层2偏置
aux3.W [16384, 32768] F32 辅助记忆层3
aux3.b [32768] F32 辅助记忆层3偏置
X_mean [12] F32 特征均值
X_std [12] F32 特征标准差

使用方法

import struct
import numpy as np

def load_gguf_metadata(filepath):
    with open(filepath, 'rb') as f:
        magic = struct.unpack('<I', f.read(4))[0]
        version = struct.unpack('<I', f.read(4))[0]
        n_tensors = struct.unpack('<Q', f.read(8))[0]
        n_kv = struct.unpack('<Q', f.read(8))[0]
        metadata = {}
        for _ in range(n_kv):
            k_len = struct.unpack('<Q', f.read(8))[0]
            k = f.read(k_len).decode('utf-8')
            v_type = struct.unpack('<I', f.read(4))[0]
            v_len = struct.unpack('<Q', f.read(8))[0]
            v = f.read(v_len).decode('utf-8')
            metadata[k] = v
        return metadata

def predict(features, gguf_path):
    # 加载核心权重 (从core_weights.json)
    # 应用特征标准化: (X - mean) / std
    # 前向传播: relu(W1·x+b1) → relu(W2·x+b2) → W3·x+b3
    # 返回类别ID
    pass

文件列表

  • tvcnnw_scene_large.gguf - 10.50 GB GGUF模型文件
  • scene_core_weights.json - 核心权重元数据

限制说明

  1. 辅助记忆层为He初始化随机权重,用于扩充模型容量
  2. 实际推理仅使用训练核心层(3层MLP)
  3. 模型基于CNN新闻视频缩略图训练,可能对其他类型视频泛化能力有限
  4. 训练数据分布不均衡(如studio类只有10个样本)

版本

  • v1.0 (2026-07-18): 初始版本,10.50 GB大模型,99.39%准确率
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐