2021-11-15 学习计划与总结

231 阅读2分钟

计划清单

  • 学会读取网络模型的参数量和计算量,计算一下DenseNet 的参数量和计算量
  • 找到 GhostNet,Coordinate Attention 的代码,尝试加到 DenseNet 中
  • webpack 继续看1.5小时视频
  • 红宝书第八章的内容搂一眼,标记为未掌握内容

模型的参数量和计算量大小的统计

统计参数量的方法

total = sum([param.numel() for param in net.parameters()])
print("Number of parameter: %.2fM" % (total/1e6))
利用库函数统计计算量和参数量
from ptflops import get_model_complexity_info
ops, params = get_model_complexity_info(net, (3224224), as_strings=True, print_per_layer_stat=True, verbose=True)
参数量
模型参数量
DenseNet_40_K_121.06M
DenseNetMobile_40_K_120.34M
计算量 Flops
模型计算量
DenseNet_40_K_120.29G
DenseNetMobile_40_K_120.11G

代码

找到了 GhostNet,Coordinate Attention 的代码,将 Coordinate Attention 加到了 DenseNet 模型中,测试效果中~

webpack

总结一下 webpack 的几点内容

webpack 的配置模板
  1. 通过 module.exports 来导出配置项
  2. 添加入口文件 entry
  3. 添加输出配置 output
  4. 添加 loader 配置,loader 通过 module 下的 rules 数组来配置多个对象,来处理不同的文件,比如 css 文件,less 文件,都需要不同的 loader 来进行转换,一个对象只能供一个加载一个文件使用。配置对象使用 test 来检测文件,通过 use 数组中的 loader 来进行转换,并且数组中的 loader 应该是出栈的方式来使用
  5. 添加 plugins 数组配置,在数组中应该是去 new 一些实例
  6. 通过 mode 来配置是一开发模式还是生产模式打包,生产模式打包时会对代码进行压缩
module.exports = {
    entry: './src/index.js',
    output: {
        // 输出的文件名
        filename: 'built.js',
        // 输出的路径 __dirname nodejs的变量,代表当前的目录绝对路径
        path: resolve(__dirname, 'build')
    },
    // loader 配置
    module: {
        rules: [
            // 详细的 loader 配置
            {
                test: /\.css$/,
                // loader 数组中的 loader 是从下往上执行的,先执行 css-loader,然后再执行 style-loader
                use: [
                    // 创建 style 标签,将 js 中的样式资源插入其实,添加到 head 中生效
                    'style-loader',
                    // 将 css 文件变成 common.js 模块加载在 js 中,里面的内容是样式字符串
                    'css-loader'
                ]
            },
            // 就像是这里的运行流程,先使用 less-loader 将 less 文件翻译成 css 文件
            // 然后再用 css-loader 将 css 文件翻译成 js 
            // 最后使用 style-loader,生成 style 标签,放在 head 标签下
            {
                test: /\.less$/,
                use: [
                    'style-loader',
                    'css-loader',
                    'less-loader'
                ]
            }
        ]
    },
    // plugins 配置
    plugins: [
        // 详细的 plugins 配置
    ],
    mode: 'development'
}