2021-09-05 C语言基础知识及必备的 Linux 命令

嵌入式Linux的学习路线 嵌入式操作系统一般常用的系统有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或汇编开发;用高级处理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上操作系统也属于嵌入式的开发。 阅读详情

嵌入式学习历程 level1

Day1 必备的 Linux 命令

基础知识
1. 计算机基本结构:冯诺依曼模型(存储程序的思想:系统的运行是通过程序指令控制)
(存储器,运算器,控制器,输入、输出设备)
2. 存储器:内存,外存,寄存器(CPU 内部的高速缓冲器)
3. 程序就是系统可以识别的一组有序的指令。存储在磁盘上,被加载到内存中执行。
4. 程序设计语言的发展:机器语言,汇编语言,高级语言。
5. 程序设计步骤:编辑(vi),编译、链接(gcc),执行、调试。
数据的表示
1. 数据分为数值型数据(能进行算术运算得到明确数据)和非数值型数据。
2. 进制:基数与各数位的权
        (1) 基数:该进制中允许选用的基本数码的个数,十进制的基数为十。
        (2) 位 权 的 大 小 是 以 基 数 为 底 , 数 字 所 在 位 置 的 序 号 未 知 数 的 整 数 次 幂 。
        123=1*10^2+2*10^1+3*10^0
3. 二进制:基数为二,只有 0,1 两种数码,计数逢二进一。
        1010=1*2^3+0*2^2+1*2^1+0*2^0=10
4. 十六进制:基数为十六,有 1,2,3……9,a,b,c,d,e,f 共十六种数码,计数逢十六进一,使用前缀 0x 表示十六进制数。
        0xa6f=a*16^2+6*16^1+f*16^0=10*16^2+6*16^1+15*16^0=2671
5. 八进制同理,以 0 作为八进制数前缀 0176=1*8^2+7*8^1+6*8^0
6.                原码           补码         反码(补码+1)
        正数 00000101 00000101 00000101
        负数 10000101 11111010  11111011
7. 非数值数据包括文字,符号,图像,语言和逻辑信息等,以 0、1 的形式存在。美国国家信息交换标准代码 ASCⅡ码。(00000000——11111111 即 0——255)
Linux 操作指南
1. 快捷操作
(1)
        Ctrl+Alt+T 打开一个终端
        Ctrl+Shift+T 新建标签
(2)
        共享目录 终端输入 ls 查看目录
        (1) 在共享目录中直接添加文件
        (2)在 Windows 窗口中直接拖动目标文件到终端窗口(命令格式:终端窗口输入mv,拖动文件到终端窗口,输入“.”(表示将文件拷贝到当前目录)。
(3)
        快照:
        快照恢复:系统崩溃时点击 VMware 工具栏中的“管理此虚拟机的快照”选择要转到的快照,双击“转到”。
        快照拍摄:在需要保存重要配置或文件时,可点击“管理此虚拟机快照”,点击“拍摄快照”进行保存。
2. 文件和目录相关指令
(1) Linux 文件系统结构——树形分层组织结构
文件系统层次结构标准 FHS
 
/bin:bin 是二进制(binary)英文缩写
/boot:存放的都是系统启动时要用到的程序
/dev:包含了所有 Linux 系统中使用的外部设备/etc:存放了系统管理时要用到的各种配置文件和子目录
/lib:存放了系统动态连接共享库
/home:普通用户主目录
/root:根用户(超级用户)的主目录
……
(2) 浏览目录
        a. pwd 显示用户 在文件系统中的当前位置
        b. ls 显示目录下的内容
        c. ls -a 显示包括以“.”开头的文件
        d. ls -l 以长格式显示目录以展示目录信息
        e. ls -R 子目录递归显示
(3) cd 切换目录 (例. cd /home/Linux)
        a. cd 进入用户主目录
        b. cd / 进入用户根目录
        c. cd ~ 进入用户主目录
        e. cd .. 返回上级目录
(3) 查看文件内容
        a. cat 显示文件内容
                cat -s 多个空行合并成一个空行显示  
                cat -b 显示行号
        b. nl 显示行号,相当于 cat -b
        c. head -n 显示文件前 n 行,默认 10
        d. tail -n 显示文件后 n 行,默认 10
(4) 复制 cp (cp [options] file1 destination file2)
        a. cp -r 复制文件夹 对文件夹递归
        b. cp -i 覆盖时交互提示
        c. cp [options] file1 file2 ……dest 复制多个文件到文件夹
(5) 移动 mv (mv [options] file1 file2……destination)
        a. 重命名 mv oldfile newfile
        b. 移动并重命名 mv oldfile destination newfile
        c. mv -b 覆盖文件之前先行备份
        d. mv -f 覆盖文件时不询问直接覆盖
        e. mv -i 覆盖文件之前询问是否覆盖
        f. mv -u 只有当源文件是最新更新时,才可以覆盖目标文件
        g. mv -t 需要移动多个源文件时,目标目录在前源文件在后
(6) 创建或删除文件目录
        a. touch 创建文件或者更新时间戳
        b. mkdir 创建目录
        mkdir -p file1/file2/file3…… 添加包含子目录的目录(递归创建目录)
        c. rm 删除文件
        rm -i 删除前逐一询问是否删除(只能删除文件)
        rm -r 删除目录,向下递归删除
        rm -ir 逐一询问是否删除目录内的文件和目录
        rm -rf 强行删除不做提示
        rm -f 强行删除文件不做提示
vi 编辑器的使用
1. vi 编辑器有以下三种模式:
命令行模式:用户在用 vi 编辑文件时,最初进入的为该模式,可以进行复制、粘贴等操作。
插入模式:进行文件编辑,按 ESC 键可以回到命令行模式。
底行模式(末行模式):可以进行文件的保存、退出、查找、替换、列出行号等操作。命令行模式下输入“:”或按空格键进入底行模式。
2. vi 编辑器模式切换命令
        a (Append)进入编辑状态,从当前光标之后位置开始插入键盘输入的字符。
        i (Insert)进入编辑状态,从当前光标之前位置开始插入键盘输入的字符。
        o (Open)进入编辑状态,并插入一新行,光标移动到新行行首。
        ESC 进入命令状态
        :! Command 在 vi 编辑器中执行外部命令(pwd、data……)按回车键可以返回 vi 编辑器继续工作。
3.vi 保存和退出命令
底行模式下:
        快捷方式:直接按 Shift+zz 或切换大写模式输入 ZZ,即按两下大写 Z。
        :q (Quit)退出没有修改的文件,若文件被修改了而没有保存,则此命令无效会报错
        :q! 强制退出且不保存修改过的部分
        :w (Write)保存文件,但不退出
        :x/:wq (Exit)保存文件并退出
        :w filename 另存为 filename 的文件名,不退出
        :r file (Read)读入指定文件 file 的内容插入到光标位置
4. vi 插入文本类命令
        i  插入到光标前
        I 插入到当前行行首
        a 插入到光标后
        A 插入到当前行行尾
        o 在当前行之下新开一行
        O 在当前行之前新开一行
5. vi 拷贝与粘贴命令
        [N]x (Expurgate)删除从光标位置开始的连续 N 个字符并复制到编辑缓冲区
        [N]dd (Delete)删除从光标位置开始的连续 N 行并复制到编辑缓冲区
        [N]yy (Yank)复制从光标位置开始的连续 N 行到编辑缓冲区4
        p(光标前)或 P(光标后) (put)从编辑缓冲区复制文本到当前光标位置
        u (Undo)取消上一操作(恢复功能)
        y0 将光标至行首的字符拷贝
        y$ 将光标至行尾的字符拷贝
        d0 将光标至行首的字符剪切
        d$ 将光标至行尾的字符剪切
        range y 块复制  range d 块剪切     
        range 表示范围(默认为当前行):
                n1,n2 表示第 n1 行到第 n2 行
                ,$ 表示当前行到最后一行
                1,$ 表示第一行到最后一行即全文
                n1,$ 表示第 n1 行到最后一行
                %$ 表示全文
6. vi 移动光标命令
        H 光标移动到屏幕顶行
        M 光标移动到屏幕中间行
        L 光标移动到屏幕最后行
        O 光标移动到当前行首
        $ 光标移动到当前行尾
        :N 光标移动到第 N 行
        1G 光标移动到文件第一行
        G 光标移动到文件最后一行
        h 向左移动光标一个字符位置
        j 向下移动光标一个字符位置
        k 向上移动光标一个字符位置
        l 向右移动光标一个字符位置
        :set number 设置显示行号
        :set nonumber 取消显示行号
7. vi 查找命令
        /String 查找字符串 String 例. /printf
        n 继续查找         N 反向继续查找
        支持正则表达式:
        /~the 查找以 the 为开头的字符
        /end$ 查找以 end 为结尾的字符
8. vi 替换命令
        :[range] s /oldstring/newstring [lg]
        range 表示范围(默认为当前行):
                n1,n2 表示第 n1 行到第 n2 行
                ,$ 表示当前行到最后一行
                1,$ 表示第一行到最后一行即全文
                n1,$ 表示第 n1 行到最后一行
                %$ 表示全文
        lg 表示多个字符都替换,默认只替换第一个字符
gcc 编译器
1.gcc(GNU Compiler)是 GNU 推出的多平台编译器,可将 C、C++源程序编译连接成可执行文件,支持以下后缀:
        .C C 语言源代码
        .h 程序所包含的头文件
        .i 已将预处理过的 C 源代码文件
        .s 汇编语言源代码文件
        .o 编译后的目标文件
2.gcc 编译器的使用
        (1)gcc -o 输出可执行文件,默认 a.out
        例. gcc test.c -o test [-wall](-wall 显示警告)
        gcc -o test test.c 输出可执行文件 test.o
        (2)gcc -c 只要求编译器输出目标代码(.o 文件),而不必输出可执行文件
        (3)gcc -g 用于调试
        (4)gcc ./test 查看 test 执行文件输出结果,默认./a.out
程序调试
        代码跟踪调试:
        printf(“%s,%s,%d\n”,__FILE__,__FUNCTION__,__LINE__);
        分别显示文件名,函数名,当前行行号
Hadoop实战:用MapReduce分析YouTube视频数据集(附完整代码) 本文提供了一个完整的Hadoop MapReduce实战教程,指导读者使用MapReduce框架分析YouTube视频数据集,统计不同视频类别的数量分布。教程涵盖从数据获取、预处理、HDFS操作到Java代码编写、作业提交及结果可视化的全流程,并附有完整代码,帮助开发者深入理解分布式计算思想。 阅读详情

相关推荐

深度:善用人工智能推动高等教育学习、教学与治理的深层变革

从学习方式的革新到教学模式的重构,再到治理体系的升级,人工智能已不再仅仅是辅助工具,而是成为重塑高等教育生态的核心驱动力。某高校的创新实践表明,引入AI生成虚拟患者后,医学生在临床沟通训练中的共情能力提升27%,印证了技术工具与人文教育的互补效应。美国卡内基梅隆大学的实践表明,经过系统培训的教师,其课程设计效率提升40%,且能精准定位83%学生的学习难点。当每个学生都掌握提示工程原理,每位教师都能驾驭AI教学工具,每所高校都建立智能治理框架时,教育将真正实现"以人为本"与"技术为用"的有机统一。

IT胶囊 1093

Linux系统之rename命令的基本使用

Linux系统之rename命令的基本使用

jks212454的博客 7410

STM32-CubeMx-HAL库-串口空闲中断+DMA——利用HAL_UARTEx_ReceiveToIdle_DMA实现不定长数据接收

STM32-CubeMx-HAL库-串口空闲中断+DMA——利用HAL_UARTEx_ReceiveToIdle_DMA实现不定长数据接收

weixin_43864631的博客 1万+

Linux基础命令(常用系统工作命令)

CTRL + C 两个按键用于中断正在运行的命令。命令的名称通常为。每一项都用空格隔开。以破折号开头(-l),而以两个破折号(--list)开头。双破折号(--)表示选项列表的结尾。$ ls -lia。

Xinan_____的博客 1179

电路仿真软件PSIM简介

PSIM的基本使用操作...

qq_55203246的博客 7177

【招商银行笔试题汇总】[全网首发]2024-04-23-招商银行春秋招笔试题-三语言题解(CPP/Python/Java)

🏳️ 难难难!!!本次招商银行的笔试算是今年春招最难的场次之一了K小姐所在的公司有 NNN 个部门,编号从 111 到 NNN。由于公司网络系统比较老旧,对于同一个数据 ddd,不同部门记录的值可能不同。数据 ddd 在各部门被记录为 d1,d2,...,dNd_1, d_2, ..., d_Nd1​,d2​,...,dN​。公司提出可以通过会议来实现数据的一致性。每次会议会让相邻编号范围内的所有部门一起参加,如果有超过半数的部门能够对数据 ddd 的值达成共识,那么在此次会议后,参与会议的所有部门会将

春秋招笔试突围 3462

嵌入式Linux面试必备基础知识

借鉴微信公众号:深度Liunx的文章觉得很不错,分享到优快云

m0_60360647的博客 955

iOS安全和逆向系列教程 第18篇:iOS应用脱壳技术详解与实战

iOS应用脱壳技术详解与实战 摘要: 本文深入剖析了iOS应用脱壳技术,首先解释了加壳(如FairPlay DRM)与脱壳的基本概念及必要性。通过otool命令可以检测应用的加密状态。文章详细介绍了三种主流脱壳工具:经典dumpdecrypted工具的使用方法、现代化Clutch工具的安装配置以及基于Frida的高级脱壳方案frida-ios-dump。针对特殊情况,还提供了使用LLDB手动dump内存的技术细节,包括查找基地址、计算dump范围和内存读取等操作。最后介绍了修复Mach-O文件头的Pytho

一个自学不成材的程序员 710

2021-05-09

Linux进程初探 1.对进程内存空间的探索 可讲上图中的进程分为三块区域 数据区、未初始化区、代码区 其中a,b,f存在于数据区中、 d,f,g,h存在于代码区中 而c存在于未初始化区中 可以看出 各个区域中的数据其地址都是相邻的 1.1 !注 C、C++编程中,经常会产生和内存相关的错误,比如内存泄漏、返回值为局部变量等。 在开发项目的时候,我经常会用到堆、栈,极易踩坑,为此总结出以下的几项注意点。 1.返回局部变量地址而报错 局部变量的生存周期仅在当前的函数中,因此在某函数中返回局部变量自然...

weixin_43225841的博客 108

《QGIS快速入门与应用基础》010:下载过程中常见问题(如网速慢、文件损坏)

针对QGIS下载过程中的常见问题提供了系统解决方案。主要解决下载速度慢(≤100KB/s)和文件损坏两大核心问题:通过切换国内镜像源(如清华大学、阿里云)、使用专业下载工具提升速度;采用MD5/SHA256校验确保文件完整性,并排查存储介质和杀毒软件干扰。文章还包含macOS权限问题、Linux依赖缺失等高频问题的速解方案,并附详细的排查流程图和预防技巧,帮助用户顺利完成QGIS下载。后续将详细介绍安装流程,适合零基础用户参考。

LuckyHanMo的博客 482

在 FreeStyle SAP UI5 应用里优雅落地 Draft 草稿机制:用 DraftManager 封装 DraftController 的一套实战套路

SAP Fiori应用中,Draft草稿机制是解决业务中断、多人协作和长表单填写等痛点的核心能力。本文提出了一套针对FreeStyle SAP UI5应用的Draft管理方案,通过封装sap.ui.generic.app.transaction.DraftController为DraftManager服务类,将复杂的草稿操作逻辑集中管理。该方案实现了草稿的创建、激活、丢弃等核心功能,使控制器只需调用简单意图式API即可完成操作,同时解决了组件化架构下的上下文切换、统一错误处理等问题。文章还详细介绍了后端Dr

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2751

tar命令中的 -C 作用

tar命令中的 -C 作用 我用这个命令:tar zcvf chao.tar.gz /chao/* 打包文件的时候,在压缩包里把 /chao/这个路径也打包进去了。 [root@yunwei-test chao]# ls /chao/ 01.txt 02.txt 03...

1056

TC3XX - MCAL知识点(一):新建Tc3xx EB-tresos工程

基于EB-tresos建立Hightec或者Tasking工程的时候,第一个步骤就是需要新建一个EB-tresos的工程,本文记录一下如何新建一个EB-tresos工程,以及对其进行简单的操作。那么Tc3xx的MCAL包含哪些内容呢?

梦想技术家 2968

Linux/C 高级——Linux命令

可以看一下这个网站,Linux的诞生非常有趣寻·科普|第二期:聊聊Linux的前世今生 (qq.com)

weixin_48633411的博客 1106

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

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

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

linux tar命令-c的作用,tar命令中的 -C 作用

我用这个命令:tar zcvf chao.tar.gz /chao/* 打包文件的时候,在压缩包里把 /chao/这个路径也打包进去了。 [root@yunwei-test chao]# ls /chao/01.txt 02.txt 03.txt 04.txt 05.txt 06.txt 07.txt 08.txt 09.txt 10.txt[root@yunwei-test...

weixin_32451529的博客 3181

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Day09 Linux常用命令总结

Linux常用命令总结

lookout99的博客 317

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

05_Linux中编写新的命令

Linux命令本质上是存放在/bin目录下的可执行文件。当在终端输入命令时,shell程序会从环境变量/etc/environment记录的路径中查找对应的可执行文件并执行。要创建自定义命令,可先编写C程序(如hello.c),编译生成可执行文件后,将其所在目录(如/home/book)添加到环境变量PATH中。这样在任意目录输入命令名即可执行该程序,实现自定义命令功能。这解释了Linux命令的执行机制和自定义命令的创建方法。

qq_40681630的博客 372

2021-09-11 linux学习-基础操作(二) 之常用命令

快捷键 Tab键: 按一次补齐 按两次候选 Ctrl+c组合键:终止当前命令进程 Ctrl+d组合键:输入结束 Ctrl+l组合键:清屏 格式 命令名称 【命令参数】 【命令对象】 命令参数 短格式 -h 命令参数 短格式 --help man命令中常用按键以及作用 按键 作用 空格键 向下翻一页 PaGe down 向下翻一页 PaGe up 向上翻一页 home 直接前往首页 end 直接前往尾页 / 从...

x629242的博客 1345

2021-08-09-shell脚本基础命令

语言类: 《深度探索C++对象模型》,对应的英文版是《Inside C+++ Object Model》 程序编译、链接、加载类: 《链接器和加载器》,对应的英文版是《Linker and Loader》 《程序员的自我修养:链接、装载和库》 操作系统类: 《Linux内核设计与实现》,对应的英文版是《Linux Kernel Development》 《深入理解Linux内核》,对应的英文版是《Understanding the Linux Kernel》 《深入Linux内核架构》,对应的英文版是《Pr

sinat_37429535的博客 393

linux查看历史命令

linux查看历史命令的方法有: 1.使用上\下方向键,命令行会显示相对于当前命令的上一条或下一条命令. 2.也可以在命令行敲入history,打印出执行过的历史命令 [root@node1 ~]# history 1 2019-12-09 10:58:12 root whoami 2 2019-12-09 10:58:35 root uname -a 3 2019-12-09 10:58:48 root cat /proc/version 4 2019-12-09

鸡排小农的博客 1万+

Linux常用命令汇总

文章目录1. Linux命令的格式2. 简单指令的操作显示日期的指令: date显示日历的指令: cal简单好用的计算器: bc3. 常用的几个快捷键[Tab]按键[Ctrl]-c 按键⬆ ⬇光标键[Ctrl]-d 按键[shift]+{[PageUP]|[Page Down]}按键4. 查阅命令帮助信息指令的 --help 求助maninfo5. 关机/重启shutdownreboot, halt, poweroff6. Linux的文件权限Linux文件属性修改文件权限chgrp,改变所属群组chown

Lianuuu的博客 3788

2021-09-14大数据学习日志——Linux基础

Linux系统目录 1.1 文件和文件夹 目录:类似于生活中的存储柜,其中可以存储物品,对物品分类管理;这个存储柜中存储的物品类似于电脑中的文件,存储柜中的物品是多种多样的,文件的类型也是多种多样的 在日常工作学习中,我们经常会操作文件夹与文件,例如:创建、删除、编辑、保存、关闭、重命名、恢复等等… 在使用Linux的过程中 我们也会大量的对我们的文件进行相关的操作,在Linux中 有一句话叫 一切皆文件 1.2 系统目录结构 操作系统中我们对Windows系统是比较熟悉的 在windows中我们的目录结

tingbaobaoo的博客 508

【Linux】一步一步学Linux——rename命令(36)

00. 目录 文章目录00. 目录01. 命令概述02. 命令格式03. 常用选项04. 参考示例05. 附录 01. 命令概述 rename命令用字符串替换的方式批量改变文件名。 rename 用于 对文件进行命名管理,可进行批量命名并支持正则表达式, rename命令存在两个版本用法上有所区别 一个是 C语言版本支持通配符,另一个是 Perl版本.支持正则表达式 02. 命令格式 rename...

C/C++软件工程师、嵌入式软件工程师、物联网研发工程师、C/C++讲师、物联网讲师、嵌入式讲师、鸿蒙讲师---欢迎大家一起交流(私信添加博主微信) 2856

Linux命令行的有趣命令

本次介绍一些没什么用但很有趣的命令,搏各位一笑吧。

xiaoxiaosutang的博客 2554

c语言基础:linux运行popen命令返回结果

【代码】c语言基础:linux运行popen命令返回结果。

lydstory123的专栏 387

面试中linux常见的20个命令

1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件。 2.查看一个程序是否运行 ps –ef|grep tomcat 查看所有有关tomcat的进程 3.终止线程 kill -9 19979 终止线程号位19979的线程 4.查看文件,包含隐藏文件 ls -al 5.当前工作目录 pwd 6.复制文件包括其子文件到自定目录...

cyy19920319的博客 522
上一篇: 计算机组成原理 存储单元、存储字、存储字长、存储容量的区分
下一篇: 2021-09-08 C语言 数据类型、常量、变量及运算符
Raymond430
博客等级 码龄7年 91粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值