Vue项目代码量统计终极指南:从HTML到Vue文件的行数计算(附常见问题解决)

统计vue项目的总代码量(行数) 统计vue项目内src文件夹下的总代码量 阅读详情

Vue项目代码量统计终极指南:从HTML到Vue文件的行数计算(附常见问题解决)

在Vue项目开发中,了解代码规模是开发者必备的基础技能。无论是项目交接、代码审查前的自我检查,还是日常维护,快速准确地统计代码行数都能帮助我们更好地把控项目复杂度。本文将带你从零开始,掌握Vue项目代码量统计的各种实用技巧。

1. 代码统计基础工具与原理

代码行数统计看似简单,但背后涉及多个Unix/Linux命令的协同工作。理解这些工具的原理,能帮助我们在不同场景下灵活应对。

最常用的组合是find、xargs和wc命令。find负责文件查找,wc进行行数统计,而xargs则作为两者之间的桥梁。这个组合之所以强大,是因为它能处理大量文件而不会遇到"参数列表过长"的错误。

核心命令解析:

find ./src "(" -name "*.html" -or -name "*.js" -or -name "*.css" -or -name "*.vue" ")" -print | xargs wc -l

这个命令的工作流程可以分为三个步骤:

  1. find命令从./src目录开始递归查找所有匹配指定扩展名的文件
  2. 找到的文件名通过管道(|)传递给xargs
  3. xargs将这些文件名作为参数传递给wc -l进行行数统计

注意:在Windows环境下,原生命令提示符(cmd)不支持这些命令,建议使用Git Bash或WSL等兼容Unix命令的环境。

2. 进阶统计技巧与参数调整

基础命令能满足大部分需求,但在实际项目中,我们往往需要更精确的统计方式。以下是几种常见的进阶用法:

2.1 排除特定目录或文件

大型项目中常有一些自动生成的或第三方代码,统计时可能需要排除这些内容。可以通过-not -path参数实现:

find ./src -not -path "*/node_modules/*" "(" -name "*.vue" -or -name "*.js" ")" -print | xargs wc -l

这个命令排除了node_modules目录下的所有文件,只统计.vue和.js文件。

2.2 统计空行与非空行

有时我们需要区分实际代码行和空行,可以使用grep配合wc:

# 统计非空行数
find ./src -name "*.vue" -print | xargs grep -v '^\s*$' | wc -l

# 统计空行数
find ./src -name "*.vue" -print | xargs grep '^\s*$' | wc -l

2.3 按文件类型分别统计

如果需要了解不同类型文件在项目中的占比,可以分别统计:

# 统计Vue文件行数
find ./src -name "*.vue" -print | xargs wc -l

# 统计JS文件行数
find ./src -name "*.js" -print | xargs wc -l

# 统计CSS文件行数
find ./src -name "*.css" -print | xargs wc -l

3. 跨平台解决方案

不同操作系统环境下,代码统计可能会遇到各种兼容性问题。以下是针对各平台的解决方案:

平台推荐工具注意事项
WindowsGit Bash避免使用cmd,确保安装Git时勾选"Unix工具"选项
macOS终端原生支持,无需额外配置
Linux终端命令行为原生支持
WSLUbuntu等发行版性能最佳,推荐长期Windows开发者使用

对于团队协作项目,建议在package.json中添加统一的统计脚本:

{
  "scripts": {
    "stats": "find ./src \"(\" -name \"*.html\" -or -name \"*.js\" -or -name \"*.css\" -or -name \"*.vue\" \")\" -print | xargs wc -l"
  }
}

这样所有团队成员只需运行npm run stats即可获得一致的统计结果。

4. 常见问题与解决方案

在实际使用中,开发者常会遇到各种统计问题。以下是几个典型场景及解决方法:

4.1 文件名包含空格

当文件名包含空格时,基础命令可能会报错。解决方案是使用-print0和-0参数:

find ./src -name "*.vue" -print0 | xargs -0 wc -l

-print0用null字符分隔文件名,-0告诉xargs以null字符作为分隔符,这样就能正确处理含空格的文件名。

4.2 统计结果不准确

有时统计结果可能包含非代码文件或重复计算,可以通过以下方式优化:

  1. 排除测试文件:
find ./src -not -path "*/tests/*" -name "*.js" -print | xargs wc -l
  1. 排除特定模式的文件:
find ./src -name "*.js" -not -name "*.spec.js" -print | xargs wc -l

4.3 大型项目性能优化

对于包含数千个文件的项目,统计可能会变慢。可以考虑:

  1. 使用fd替代find(需要先安装):
fd -e vue -e js -e css -e html --exclude node_modules | xargs wc -l
  1. 并行处理:
find ./src -name "*.vue" -print | parallel -X wc -l | awk '{sum+=$1} END {print sum}'

5. 可视化与持续监控

单纯的数字统计有时不够直观,我们可以通过工具实现可视化展示和持续监控。

5.1 生成统计报告

使用cloc工具可以生成更详细的分类统计报告:

# 安装cloc
npm install -g cloc

# 运行统计
cloc ./src --exclude-dir=node_modules

输出示例:

      17 text files.
      17 unique files.                              
       0 files ignored.

github.com/AlDanial/cloc v 1.82  T=0.02 s (1068.3 files/s, 62433.3 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
JavaScript                       8             46             78            327
Vue                              6             32              5            218
CSS                              3              8              1             79
-------------------------------------------------------------------------------
SUM:                            17             86             84            624
-------------------------------------------------------------------------------

5.2 集成到开发流程

可以将代码统计集成到Git钩子中,在每次提交时自动记录代码量变化:

# 在.git/hooks/pre-commit中添加
#!/bin/sh
cloc --quiet --exclude-dir=node_modules ./src >> .cloc_history

这样就能跟踪项目代码量的历史变化趋势。

6. 代码统计的最佳实践

基于多年Vue项目开发经验,我总结了以下代码统计的最佳实践:

  1. 定期统计:建议在每次迭代开始和结束时进行统计,掌握代码增长情况
  2. 分类比较:区分业务代码、工具代码和第三方代码,关注业务代码占比
  3. 设置阈值:为不同模块设置合理的代码量阈值,避免单个文件/组件过大
  4. 结合质量指标:将代码量与测试覆盖率、复杂度等指标结合分析

一个健康的Vue项目通常具有以下特征:

  • 单个.vue文件不超过300行
  • 业务组件与基础组件比例约为7:3
  • 样式代码占总代码量的15-25%

在实际项目中,我发现过度庞大的单文件组件往往是维护困难的征兆。这时可以考虑使用以下命令快速定位问题文件:

find ./src -name "*.vue" -print | xargs wc -l | sort -nr | head -5

这个命令会列出最大的5个Vue文件,帮助开发者优先重构这些潜在的问题点。

告别手动统计!用这行命令一键搞定Vue项目的代码量(含CSS/JS/HTML) 本文提供了一行命令,帮助开发者快速统计Vue项目中Vue、JS、CSS和HTML文件的代码行数。通过详细拆解find、wc和xargs命令的组合使用,并覆盖Windows、macOS/Linux等多平台操作指南,实现一键量化项目复杂度,告别低效的手动统计。 阅读详情

相关推荐

快速统计Vue项目代码行数的实用技巧

本文介绍了快速统计Vue项目代码行数的多种实用技巧。从使用基础的命令行组合(如find与wc)进行快速统计,到利用CLOC工具获取包含注释与空行的精准分析,再到将统计流程自动化集成到开发工作流中。掌握这些方法能帮助开发者有效评估项目规模、监控代码增长趋势,从而优化项目结构与维护性。

weixin_29011239的博客 186

Vue:统计代码行数

xargs:linux命令,将管道的标准输入转换为下个命令的参数,这里将find命令找到的文件名使用xargs作为参数传递给wc命令。-l:只显示行数,在同时对多个文件的行数进行统计总数和。“.html”:匹配所有后缀名为html的文件。|:管道,将前面命名的输出作为后面命名的输入。-name:根据指定的文件名称寻找文件。wc:统计文件的行数、字节数等信息。-print:打印文件名。find:设置搜索路径。

梦昼初的博客 1140

代码行数统计工具

支持 js java .net asp html .c vb sql 所有源码文件的代码行数统计,可统计文件夹内文件的代码行数。一键统计,快捷方便

统计vue项目的代码量

需求 想要统计一下自己写的vue项目的代码量。 主要是src文件夹下的html、css、js、vue文件的总代码量 解决方案 使用git bash,切换至vue项目的src目录下,然后输入如下命令: find . -name "*.html" -or -name "*.js" -or -name "*.css" -or -name "*.vue" -print | xargs wc -l 命令解析...

困惑中,解惑时 3691

代码统计工具code count tool

代码统计工具,可看新增,修改,删除行数。语言Java,html,jsp,c++等各种语言 操作是将两个不同版本的项目导入到工具中,然后点击count按钮,直接就能看结果

vue单页应用加百度统计代码(亲测有效)

申请百度统计后,会得到一段JS代码,需要插入到每个网页中去,在Vue.js项目首先想到的可能就是,把统计代码插入到index.html入口文件中,这样就全局插入,每个页面就都有了;这样做就涉及到一个问题,Vue.js项目是单页应用,每次用户浏览网站时,访问内页时页面是不会刷新的,也就意味着不会触发百度统计代码;所以最终在百度统计后台看到的效果就是只统计到了网页入口的流量,却无法统计到内页的访问流量。 解决方法 在main.js文件中调用vue-router的afterEach方法,将统计代码加入到这个方法里面,这样每次router发生改变的时候都会执行一下统计代码,这样就达到了目的,代码如下

统计Vue中src文件夹下的代码行数

【代码】统计Vue中src文件夹下的代码行数。

weixin_54129994的博客 460

国产系统迁移实战:在银河麒麟V10上搞定Wine32位支持,让老Windows软件跑起来

本文详细介绍了在银河麒麟V10操作系统上构建Wine32位支持的全过程,帮助用户解决Windows应用迁移难题。从系统架构差异分析到Wine环境配置,再到实战应用部署与优化,提供了一套完整的解决方案,确保老Windows软件在国产系统上稳定运行。

weixin_32288959的博客 649

Vue:计算vue项目代码行数

解决方法 1.进入src(要计算的文件夹),打开git bash 2.输入一下命令 find . "(" -name "*.html" -or -name "*.js" -or -name "*.css" -or -name "*.vue" ")" -print | xargs wc -l 得到结果: ps:命令解析: find:设置搜索路径 -name:根据指定的文件名称寻找文件 ".html":匹配所有后缀名为html的文件 -or:或 -print:打印文件名 |:管道,

weixin_38942919的博客 3638

从AXI到CHI:深入解析基于Credit的流量控制如何优化NoC设计

本文深入解析了从AXI握手式流控到CHI基于Credit的流量控制机制的演进。通过对比传统流控的瓶颈,详细阐述了Credit机制如何通过信用预分配和记账系统,有效解决FIFO气泡、时序收敛等难题,从而优化NoC设计的带宽利用率、降低延迟并提升系统可扩展性。

weixin_29227585的博客 522

【补充:脑电绘图教程 2】如何手动去除ICA伪迹分量

ICA可以将脑电信号分解为多个IC分量,由每个分量的平均功率地形图可以看出哪些分量属于伪迹,去除伪迹分量后,即可得到“干净”的脑电信号。本教程主要总结如何人工识别出ICA伪迹分量,不涉及ICA的原理讲解。本教程的主要知识来源是ICLabel官网ICLabel致力于自动识别IC分量属于哪种伪迹,并标记伪迹占比,可以在eeglabel中很方便地使用。ICLabel给出了几种常见伪迹的特点,本教程主要是根据ICLabel给出伪迹特点,对自己的数据集手动去除伪迹,以更深入了解自己数据集的质量和伪迹特点。

qq_40735196的博客 4232

Vue项目代码量统计终极指南:一键搞定HTML/CSS/JS/Vue文件行数统计

本文提供了一套完整的Vue项目代码量统计方案,从基础的命令行工具到专业的cloc分析,再到自动化集成。详细讲解了如何精准统计HTML、CSS、JS及Vue文件的行数,并指导如何将代码度量融入CI/CD流程,帮助开发者高效评估项目规模与监控代码增长。

sat99的博客 177

SoC 验证老兵手册

《SoC验证老兵手册》摘要: 针对大型SoC系统级验证,手册提出Cache+DMA场景的高效验证方案。核心方法采用C测试用例(模拟Linux/RTOS真实场景)触发隐蔽bug,配合SV Checker精准捕捉硬件问题(如DMA读取脏缓存行)。特别强调验证方法论:C用例负责复杂行为模拟,SV专注RTL正确性检查;利用Linux天然并发性暴露硬件缺陷。手册还包含模拟面试攻防技巧,指出验证架构师需具备定义Stimulus/Checker边界的能力。终极判断标准:未通过Linux下Cache+DMA+SMP+中断测

元直的博客 1372

Vue项目代码行数统计终极指南:从HTML到Vue文件的全覆盖

本文详细介绍了Vue项目代码行数统计的全面指南,从基础命令行工具到企业级解决方案,涵盖HTML、Vue文件等多种文件类型。通过精确的代码量统计,帮助开发者评估技术债务、优化性能,并集成到CI/CD流程中实现自动化。文章还提供了代码密度分析和可视化呈现方法,助力团队做出更明智的技术决策。

read5的博客 192

在Cursor IDE中集成Datadog监控:自然语言查询实战指南

在云原生和微服务架构中,可观测性(Observability)已成为保障系统稳定性的核心技术支柱。其核心原理是通过日志(Logs)、指标(Metrics)和追踪(Traces)三大支柱,实时采集并呈现系统的运行状态。这项技术的价值在于,它让开发者能够透视复杂的分布式系统,快速定位性能瓶颈与故障根因。在实际的工程实践中,开发人员常常需要在编码环境与监控平台之间频繁切换,这种上下文切换严重影响了排障效率。本文聚焦于如何利用Model Context Protocol(MCP),将强大的Datadog可观测性平台

weixin_42519772的博客 348

牛顿法vs高斯牛顿法vs LM算法:三行代码说清核心区别(附性能对比表格)

本文通过对比牛顿法、高斯牛顿法和LM算法的核心迭代代码,揭示了三者在非线性最小二乘优化中的本质区别。LM算法通过引入阻尼因子,在高斯牛顿法的快速收敛与梯度下降的稳定性之间取得平衡,成为工程实践中鲁棒性最强的首选。文章还提供了清晰的性能对比表格,帮助开发者根据初始估计和问题性质快速选择合适算法。

weixin_29062255的博客 419

统计前端项目代码的总行数

统计前端项目代码的总行数

ideal-lingyun 3020

网络系统实现技术之IPX与SPX

IPX/SPXNovell NetWare网络Novell公司为适应网络发展,将主机网络转换为PC网络,开发了Novell NetWare网络系统。该系统中基于客户机/服务器模式。以普通PC机做为客户机,以性能强大的服务器做为服务器,为客户机提供文件服务、数据库服务及其他服务。与前面的SNA模型一样,Novell NetWare也早于OSI模型,所以不能与OSI模型严格对应,但也有很明

成片的大树 9164

vue项目代码统计行数方法

在项目根目录打开git hash、执行下列代码 find ./src "(" -name "*.html" -or -name "*.vue" -or -name "*.js" -or -name "*.ts" -or -name "*.css" -or -name "*.styl" -or -name "*.less" -or -name "*.scss" ")" -print | xargs wc -l 解析 在src目录下搜索文件名格式是.html或.vue等文件,将文件的行数、字节数统计出来并只

长缨缚苍龙 2929

【开发必备插件】iframe嵌套报“拒绝连接请求”的本地解决方法

关键词:iframe 拒绝连接、X-Frame-Options、Chrome 插件、前端调试、Allow X-Frame-Options前几天我在本地项目里调试一个第三方网站的嵌入页面时,遇到了一个非常经典的报错:xxx.com 拒绝了我们的连接请求。熟悉的老前端们一眼就知道——这是。但对于日常开发来说,我们经常需要在本地测试 iframe 嵌套外部页面(比如嵌第三方登录页、支付页、可视化报表系统等)。而线上站点配置了或DENY时,就会直接导致 iframe 加载失败。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1545

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

idea 查询项目代码行数_统计项目代码行数

本文介绍了 3 种统计项目代码的方式,分别为 Cloc 库、VSCode 代码统计插件 —— VS Code Counter、IDEA 代码统计插件 —— Statistic。一、 使用 Cloc 统计代码行数Cloc (opens new window)是一款使用 Perl 语言开发的开源代码统计工具,支持多平台使用、多语言识别,能够计算指定目标文件或文件夹中的文件数(files)、空白行数(b...

weixin_30456153的博客 4539

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

最全面的前端代码统计指南:从HTML/CSS到React/Vue的cloc实战

你是否曾在前端项目中遇到这些痛点?想知道Vue单文件组件中到底有多少业务代码?React项目的JSX与纯JavaScript占比如何?CSS预处理器的代码量是否失控?本文将通过10个实战场景,教你用cloc(Count Lines of Code,代码行数统计工具)精准分析现代前端项目,生成可视化报告,为技术决策提供数据支持。读完本文你将掌握:多框架代码区分统计、复杂项目结构分析、第三方库排除策略...

gitblog_00894的博客 566

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

统计vue项目代码行数

找到项目,在总目录名称下右键单击,“git bash here”,只需要统计src路径下的.html .js .css .vue相关的文件代码行数。:运行git命令即可。

weixin_55800388的博客 847
上一篇: 避开这5个QLayout坑!QT设计师必知的布局管理陷阱
下一篇: 嵌入式开发必看:115200bps串口通信背后的字节率计算与实战配置
tensorflowjs6
博客等级 码龄3年 154粉丝 1495原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值