dd 详解及系统备份还原转移方案

香橙派5 Plus实战:3种方法备份Ubuntu系统到TF卡(附dd命令详解) 本文详细介绍了香橙派5 Plus上Ubuntu系统的三种专业备份方法,包括dd命令全盘备份、rsync文件级备份以及混合分区表+文件系统备份。通过实战案例和详细命令解析,帮助开发者高效备份系统到TF卡,确保数据安全和快速恢复,特别适合物联网网关和工业控制等场景。 阅读详情

dd 命令 
[root@linux ~]# dd if="input_file" of="outptu_file" bs="block_size" count="number"
参数:
if: 就是 input file 啰~也可以是装置喔!
of:就是 output file 喔~也可以是装置;
bs:规划的一个 block 的大小,如果没有设定时,预设是 512 bytes
count:多少个 bs 的意思。

范例一:将 /etc/passwd 备份到 /tmp/passwd.back 当中
[root@linux ~]# dd if=/etc/passwd of=/tmp/passwd.back
3+1 records in
3+1 records out
[root@linux ~]# ll /etc/passwd /tmp/passwd.back
-rw-r--r-- 1 root root 1746 Aug 25 14:16 /etc/passwd
-rw-r--r-- 1 root root 1746 Aug 29 16:57 /tmp/passwd.back
# 仔细的看一下,我的 /etc/passwd 文件大小为 1746 bytes,因为没有设定 bs ,
# 所以预设是 512 bytes 为一个单位,因此,上面那个 3+1 表示有 3 个完整的
# 512 bytes,以及未满 512 bytes 的另一个 block 的意思啦!
# 事实上,感觉好像是 cp 这个指令啦~

范例二:备份 /dev/hda 的 MBR
[root@linux ~]# dd if=/dev/hda of=/tmp/mbr.back bs=512 count=1
1+0 records in
1+0 records out
# 这就得好好了解一下啰~我们知道整颗硬盘的 MBR 为 512 bytes,
# 就是放在硬盘的第一个 sector 啦,因此,我可以利用这个方式来将
# MBR 内的所有资料都纪录下来,真的很厉害吧! ^_^

范例三:将整个 /dev/hda1 partition 备份下来。
[root@linux ~]# dd if=/dev/hda1 of=/some/path/filenaem
# 这个指令很厉害啊,将整个 partition 的内容全部备份下来~
# 后面接的 of 必须要不是在 /dev/hda1 的目录内啊~否则,怎么读也读不完~
# 这个动作是很有效用的,如果改天你必须要完整的将整个 partition 的内容填回去,
# 则可以利用 dd if=/some/file of=/dev/hda1 来将资料写入到硬盘当中。
# 如果想要整个硬盘备份的话,就类似 Norton 的 ghost 软体一般,
# 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厉害厉害!

cpio 命令 
[root@linux ~]# cpio -covB > [file|device] <==备份
[root@linux ~]# cpio -icduv < [file|device] <==还原
参数:
-o :将资料 copy 输出到文件或装置上
-i :将资料自文件或装置 copy 出来系统当中
-t :查看 cpio 建立的文件或装置的内容
-c :一种较新的 portable format 方式储存
-v :让储存的过程中文件名称可以在萤幕上显示
-B :让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes ;
   这样的好处是可以让大文件的储存速度加快 (请参考 i-nodes 的观念)
-d :自动建立目录,由於 cpio 的内容可能不是在同一个目录内,
         如此的话在反备份的过程会有问题, 这个时候加上 -d 的话,就可以自动的将需要的目录建立起来了;
-u :自动的将较新的文件覆盖较旧的文件
范例一:将所有系统上的资料通通写入磁带机内
[root@linux ~]# find / -print | cpio -covB > /dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 ;
范例二:检查磁带机上面有什么文件
[root@linux ~]# cpio -icdvt < /dev/st0
[root@linux ~]# cpio -icdvt < /dev/st0 > /tmp/content
# 第一个动作当中,会将磁带机内的档名列出到萤幕上面,而我们可以透过第二个动作,
# 将所有的档名通通纪录到 /tmp/content 文件去
范例三:将磁带上的资料还原回来~
[root@linux ~]# cpio -icduv < /dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 
范例四:将 /etc 底下的所有『文件』都备份到 /root/etc.cpio 
[root@linux ~]# find /etc -type f | cpio -o > /root/etc.cpio
# 这样就能够备份啰~您也可以将资料以 cpio -i < /root/etc.cpio
# 来将资料捉出来

-------------------------------------------------------------------------

使用 dd 做系统转移最近的一次 case 中,有客户的 Linux 发生了怪异现象,就是硬盘似乎变慢并且效能也不如之前,于是在考虑过后,决定更换一颗新的硬盘。做系统备份的方法其实有很多,像是 tar、cp、cipo ... 等工具都是很好的备份工具,但是这次我选择了 dd 工具来做两颗硬盘之间的备份,也就是说把 hda 的数据全都放到 hdb 去,然后再做交换。在实做的时候,我发现一个很有趣的现象,因为这台主机主要是用来放 source 专用的,虽然有做 RAID 1mirror,但是整个 hda2 居然吃了 70GB 如此大的空间。后来,推测应该是在建立主机之初没有把硬盘做适当的分割,所有的数据都放在同一个分割区里,当然 source 是会长大的东西,所以日子一久就慢慢的吃掉了很多空间 ...

我来说明一下这次的环境:

/dev/hda1:150MB,/boot
/dev/hda2:150GB,/
/dev/hda3:其它,swap

嗯 ... 所以说,知道了吧!全部只有两个分割区,若是使用 dd 来做系统转移的话,若是有两颗原本同型号、同容量的硬盘的的话当然是最好的,但是事实总是很残忍的,要找到一模一模型号的硬盘可不是这么容易的事,所以我当时决定使用一颗比目前还大的硬盘来做转换对像,于是乎客户就准备了一颗 200G 的硬盘来做转换了。

我先把第二颗硬盘放上去,装在 IDE1 的 slave,并且使用 Live CD 做开机,主要的目地就是确保在转移过程没有任何的信息再写入 /dev/hda 或 /dev/hdb。因为这次并不打算再做任何的其它分割,所以我就把新的 200 GB 硬盘分割为如下情况:

/dev/hdb1:170 MB,/boot
/dev/hdb2:170GB,/
/dev/hdb3:512 MB,swap
其余空闲

OK,做好了分割之后,再来就是 format 啦!

root # mke2fs -j /dev/hdb1
root # mke2fs -j /dev/hdb2
root # mkswap /dev/hdb3

接下来就是重头戏了,你可以很清楚的发现,我“故意”把每个分割区都切的比原本的还大,这是怕在 copy 的时候会发生容量不符的情况,所以才如此做,现在就准备来使复制的动作!

root # dd if=/dev/hda1 of=/dev/hdb1
root # dd if=/dev/hda2 of=/dev/hdb2

好了,小弟现在很认真的说,在 copy/dev/hda2 的时候,我一共等了快要四个小时,所以以后千万要记得做好系统规划,不然会等到死!

当完成了复制之后,要记得做系统 scan,而且是必做喔,因为等一下我们要修正磁盘容量:

root # e2ckfs -f /dev/hdb1
root # e2ckfs -f /dev/hdb2

一样的,在扫描 /dev/hdb2 的时候又是一长串时间 ...  当等待的时间过去之后,我们就可以来做磁盘容量调整了:

root # resize2fs /dev/hdb1
root # resize2fs /dev/hdb2

好了,各位观众,这时已经做好系统移转,但是有一个问题,就是这新的硬盘会无法开机,所以就必需安装 GRUB Loader 才行。

要重新安装 GRUB 有很多方法,小弟我是这么做的:

关掉计算机,把退役的 160 G 硬盘拿下来,并且把新的 200 G 硬盘 jump 调成 master,装到计算机里去;使用 RedHat 光盘开机,并以 rescue mode 进入:

boot: linux rescue

进入系统之后,重新 chroot 系统:

root # chroot /mnt/sysimage
root # grub-install /dev/hda

如此就完成安装 GRUB 的任务,接下来重新启动就大功告成!


Ubuntu 20.04系统备份与异机还原:使用Systemback制作可启动ISO镜像 系统备份与还原是运维和开发环境部署中的基础需求,其核心原理在于创建系统的完整快照,确保操作系统、软件配置和用户数据的一致性。通过生成可启动的ISO镜像,可以实现系统状态的完整封装与移植,这一技术对于快速部署开发环境、搭建测试集群以及灾难恢复具有重要价值。在Linux环境下,利用Systemback工具能够将运行中的Ubuntu系统打包为标准ISO文件,再结合dd命令制作启动U盘,最终实现在不同硬件上的系统还原。本文聚焦于Ubuntu 20.04 LTS平台,详细解析了从系统备份到异机还原的完整操作流程,并针 阅读详情

相关推荐

Linux系统迁移全攻略:如何将Ubuntu完整备份并还原到新硬盘(含UUID避坑指南)

本文提供了一份详尽的Ubuntu系统迁移指南,教你如何将旧硬盘上的完整系统备份并安全还原到新硬盘。重点解析了基于Live USB的打包迁移法,并强调了处理UUID和GRUB引导修复等关键步骤,有效避免启动失败,实现无缝升级。

4k5l6j7h8的博客 238

Linux系统备份还原工具1(DD)

注意:只要时运行备份,建议都使用Ubuntu的Live CD功能启动来操作(即启动盘下的试用Ubuntu而不安装的功能),因为这样可以减少资源占用造成的备份不完整。 说明: 1、使用DD进行硬盘备份可以实现类似Ghost的基本功能,比如整个硬盘备份(包括MBR),单分区备份,单备份MBR,硬盘对拷。 2、如果分区对分区进行拷贝时,当两个分区大小不一致的情况,在恢复完之后需要重新调整新分区大小。两个硬盘对拷的情况也需要这样去调整。 3、使用DD备份分区或整块硬盘时,如果分区是100G的容量,而只使用了

子曰小玖的博客 1604

不止于装系统:挖掘PE工具箱里的数据恢复与系统备份神器(Recuva与Imagex实战)

本文深入探讨PE工具箱在数据恢复与系统备份中的高级应用,重点介绍Recuva的高阶文件恢复技巧和Imagex的系统级备份方案。通过实战案例和详细操作指南,帮助用户在系统崩溃或数据丢失时快速恢复,提升数据安全防护能力。

weixin_30787531的博客 387

linux磁盘镜像技术,Linux 下使用 dd 和 gzip 命令来代替 Ghost 做磁盘镜像

1.使用 dd 和 gzip 命令来代替 Ghost 做磁盘镜像 在 Linux 下,其实可以使用 dd 和 gzip 命令来代替 Ghost 做磁盘镜像。 要使用 dd 和 gzip 备份,可以执行命令: dd if=/dev/sda status=progress| gzip -c > sda.dd.gz 也可以不用压缩命令 dd if=/dev/sda status=progress bs=32M > sda.dd.gz bs的添加非常重要,可以提升速度 在还原时,可以执行下列命令: g

Wang20122013的博客 6309

使用dd命令备份Linux系统

请记住,在执行任何备份操作之前,务必仔细检查命令参数,并确保有足够的存储空间来存储备份文件。在Linux系统中,dd命令是一个功能强大的工具,可以用于创建系统镜像和备份。下面,我们将介绍一些使用dd命令备份Linux系统的示例。请注意,这可能需要一些时间,具体取决于硬盘的大小和系统的性能。如果你只想备份引导扇区,可以使用dd命令将引导扇区的内容复制到一个文件中。如果你想备份整个硬盘,可以使用dd命令将硬盘的内容复制到一个文件中。如果你只想备份硬盘上的特定分区,可以使用dd命令将分区的内容复制到一个文件中。

ZvjLibrary的博客 1700

ArcGIS 10.4 Desktop安装步骤。

步骤 1 :安装 LicenseManager 有了安装包以后,我们进入安装包文件目录,如图所示,首先需要安装ArcGIS license manager,即点击打开图中红色框中exe文件。 PS:安装 LicenseManager,关于 License 的安装路径一般默认即可,因为很小的,装C 盘也无所谓了,当然了自己改了也可以的,但是不建议! 即便修改路径,建议只改盘符,不修改相对路径方式! 如:C:\Program Files (x86)\ArcGIS\License10.6 修改为 D:\.

IT爱好者 2万+

linux使用dd命令拷贝和恢复镜像

dd命令拷贝和恢复镜像 fdisk -l 查看当前所有分区信息(必须用root) Device Boot Start End Blocks Id System /dev/sdb1 2048 1002047 500000 83 Linux /dev/sdb2 1002048 12...

北京-大白的博客 1万+

红外与可见光融合避坑指南:LLVIP数据集实测6大算法效果对比

本文基于专为弱光视觉设计的LLVIP数据集,对GTF、DenseFuse、FusionGAN、IFCNN等6种主流红外与可见光图像融合算法进行了深度实测与对比。通过客观指标与可视化分析,揭示了算法在极端弱光下易出现特征丢失的共性问题,并探讨了融合图像对下游目标检测任务的实际增益,为工程选型与算法调优提供了实用指南。

weixin_29092031的博客 441

linux使用dd命令备份系统

例如/dev/hda代表你的第一块IDE硬盘,/dev/sdb代表第二块SCSI硬盘,/dev/fd0代表系统的软盘驱动器等等。同样每块硬盘上的分区也有独特的目录名,例如/dev/hda1表示你第一块硬盘上的第一个分区。不管磁盘或分区使用了多少,备份的是整个磁盘或分区,所以为节约备份文件的空间建议先建立一个相对较小的分区作为系统分区,然后先备份一份较小的系统,然后重新分区,再将系统还原回去。dd if=/dev/sda of=/dev/sda 或dd if=/dev/hda of=/dev/hda。

爱折腾的技术人 2841

27-eMMC电路设计

eMMC硬件电路设计

weixin_66510961的博客 4010

腾讯滑块验证码collect参数逆向与JSVMP对抗实战

本文深入解析腾讯滑块验证码collect参数的逆向过程与JSVMP虚拟机对抗技术。通过详细的环境搭建、抓包分析和JSVMP逆向技巧,揭示collect参数的生成逻辑与加密流程,并提供完整的模拟实现方案和常见问题排查方法,助力开发者突破腾讯天御验证码的防护机制。

weixin_29009501的博客 1583

3分钟搞定游戏库迁移:Playnite备份还原全攻略

你还在为换电脑时几百个游戏的存档、设置和封面图丢失而头疼?还在手动复制粘贴游戏文件导致 metadata 错乱?本文将通过 Playnite 的备份还原工具,实现游戏库数据的完整迁移,全程无需命令行操作,普通用户也能轻松掌握。读完本文你将学会:备份全量游戏数据、选择性还原关键内容、解决迁移后常见问题。 ## 为什么需要专业的游戏库迁移工具 传统迁移方式存在三大痛点:直接复制游戏文件夹会遗漏 P...

gitblog_00362的博客 1391

华为OD机试新系统真题【字符串压缩编码】

华为OD机试 新系统真题【字符串压缩编码】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【字符串压缩编码】多语言题解

qq_45776114的博客 356

用dd实现linux硬盘备份

dd

蝈蝈的专栏 1395

IEEE Journal of Biomedical and Health Informatics(JBHI)投稿经验分享

《IEEE Journal of Biomedical and Health Informatics投稿经验分享》详细记录了在影响因子6.7的中科院一区期刊JBHI的投稿历程(2025.1-5月,历时4个月)。文章重点分析:1)审稿特色:4位审稿人差异显著,领域专家意见专业但要求严苛;2)修改要点:需重视大修(补充实验/原理阐述),并注意将回复内容同步至正文;3)期刊特点:送审率高但审稿严格,常规投稿周期约4-5个月;4)实用建议:建议首次大修全力以赴,善用AI工具辅助写作,避免拖延。

LiRongLu_的博客 5095

【一 扣子客户案例合集】【 1.3 识典古籍基于扣子智能助手的古籍数字化全流程技术解析】

古籍数字化智能处理系统全流程解析 本文详细介绍了基于扣子智能助手的古籍数字化解决方案,核心技术包括: 多层级架构设计:采用"云-边-端"三层次架构,整合高精度扫描设备与AI处理模块,实现从物理古籍到结构化数据的全流程自动化。 智能图像处理:通过12道预处理工序(包括畸变校正、污渍去除和对比度增强)处理古籍图像,采用改进的EAST算法和ViT模型实现高精度文字检测与识别,准确率达98.7%。 NLP增强处理:结合Transformer-XL预训练模型和N-gram语言模型进行文本校正,基于

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 1442

linux lvm空间转移,如何将 Linux 系统转移至 LVM 卷

摘要:一、预备知识 了解什么是dd以及什么是dump? dd命令用于复制一个设备/分区,原样输出到另外一个文件/设备/分区。 dump命令用于备份 ext2 或者 ext3 文件系统。可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。一、预备知识了解什么是dd以及什么是dump?dd命令用于复制一个设备/分区,原样输出到另外一个文件/设备/分区。dump命令用于备份...

weixin_42098104的博客 348

Cursor使用教程:用 Cursor 创建第一个 Java 项目

Cursor是一款基于VS Code的AI编程编辑器,专为开发者设计。安装前需确保JDK 8+、Maven 3.8+等环境配置,支持Windows系统。编辑器提供中文界面选项,可通过扩展市场安装语言包。创建Java项目支持手动和AI提示词两种方式:手动需创建目录结构并编写代码;AI方式则通过自然语言描述快速生成项目框架和代码。标准Java项目包含src/main/java主代码目录、src/test/java测试目录及pom.xml等配置文件。Maven项目中,pom.xml是核心配置文件,管理项目依赖与构

博客 3549

系统无忧:Ubuntu 备份迁移实战与工具选型指南

本文详细介绍了Ubuntu系统备份与迁移的实战方案,涵盖dd全盘克隆、rsync增量同步和Timeshift快照备份三大工具。针对硬件升级、灾难恢复和环境复制等场景,提供专业操作指南与避坑技巧,帮助用户确保系统完整性和数据安全,提升运维效率。

weixin_42627853的博客 362

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

深度学习工具包 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")

搬:Ubuntu Linux备份系统并还原到另一块硬盘上(硬盘大小均可不一致)

Ubuntu Linux备份系统并还原到另一块硬盘上(硬盘大小均可不一致) 2017年01月03日 10:34:31 潇洒走过 阅读数:11199 标签: Ubuntu 备份 还原 新的硬盘 更多 个人分类: 环境搭建 https://blog.youkuaiyun.com/zeg635702733/article/details/53992224 近期公司服务器固态硬盘(128G)总是不知何故...

hunter 1074

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Armbian备份恢复:系统镜像备份和快速恢复的最佳实践

还在为Armbian系统崩溃后重装配置而烦恼?本文将为你提供完整的系统镜像备份和快速恢复解决方案,让你的单板计算机(Single Board Computer, SBC)运维工作更加高效可靠。 通过阅读本文,你将掌握: - Armbian系统完整备份的最佳方法 - 快速恢复系统的多种技术方案 - 自动化备份脚本的实现技巧 - 备份验证和完整性检查策略 ## 系统镜像备份的核心方法 Armbi

gitblog_00413的博客 508

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

全盘拷贝linux系统,转移至另一硬盘

首先制作ubuntu启动盘,选择try ubuntu进入live ubuntu系统。 查看需拷贝硬盘盘符 sudo fdisk -l 进入移动硬盘地址终端,进行拷贝并压缩 sudo dd bs=512 count=【end数最大值+1】 if=/dev/sdb | gzip -9 > ghost_linux_kinetic.img.gz 在另一终端中输入命令,可在元终端查看进度速度等指标`` sudo watch -n 5 killall -USR1 dd 压缩包还原命令 gzip -c -d

hzy0621的博客 3768

linux dd实现磁盘完整全盘镜像备份backup,恢复recover(restore)

linux dd实现磁盘完整全盘镜像备份backup,恢复recover(restore) 1,dd操作就是简单的按字节复制,什么分区表啊,MBR(master boot record)啊统统照搬; 1. 磁盘克隆 也就是把整个硬盘复制一份。当然你首先需要在计算机上在接上一块新硬盘,并让系统识别。例如这块硬盘可能被识别为/dev/sdb,原...

weixin_34015336的博客 769

树莓派Raspbian stretch系统备份tar命令备份

安装了最新2017-11-29-raspbian-stretch系统,当完成一些基础软件设置后,即可备份系统。不然每次基础系统不小心弄变不好使了,重新烧系统,就会知道很麻烦了。 tar命令是不像dd命令会把整个sd卡复制,所以生产的备份大概只有1.7G(也是因为用了gzip命令)左右。 最好先用root 身份登录。输入一下2条命令 cd /tmp tar zcvpf pi-20180326...

hu5566798的博客 1254

Linux 整机完整备份打包方案(Rocky/CentOS7/8 通用)

原理:把根目录 / 全部打包成压缩包,排除系统运行产生的临时、挂载目录,避免打包出错、文件损坏。需求:整系统打包,所有软件、配置、文件、服务全部保留,直接迁移到另一台机器,不用重新部署。适合:两台服务器硬盘大小完全相同,整盘复制,无需重装系统。可以通过 U 盘、scp、移动硬盘拷贝到新服务器。# 整机打包,排除不需要打包的目录。# 假设系统盘是 /dev/sda。# 重建selinux上下文。# 重建grub引导。

qq_27665533的博客 952
上一篇: Linux 下常用压缩格式的压缩与解压
下一篇: Webmin详细安装过程及问题解决
老伊万
博客等级 码龄21年 31粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值