【工具与中间件】本地Linux虚拟机

虚拟机搭建本地linux开发环境,实现代码在本地windows系统运行环境在linux系统 一些约定 寄主机: 你的本地电脑。(windows或者macOS系统) 虚拟机软件: virtualbox (跨平台,免费, 我这用的是5.2.22版本) 虚拟机:用virtualbox创建出来的虚拟机(linux系统,我用的是centos7,其他应该也大同小异) 本文的目标是在寄主机搭建出来虚拟机,且实现以下几个功能: 虚拟机可以上公网 虚拟机和寄主机互通 虚拟机有自己的固定IP(静态IP... 阅读详情

听说公司将为我们发放Linux

0. 前言

听说公司准备为我们每人发一台Linux堡垒机,用于个人学习。很开森,跃跃欲试想搞点事情。然鹅,我突然发现,平时 Linux 用得少,当年这门课考完之后就几乎没有再动过,现在就算免费发放给我也不会用呀! 为了避免到时候拿到堡垒机的时候的尴尬,这不得先偷偷自学一波?

于是我决定,现在本地配置一台 Linux 虚拟机 用于自学。

学习目标

  • 了解或回顾 Linux 基本概念
  • Windows 系统下 配置本地 Linux 虚拟机

开干!

1. Linux 概述

在正式使用公司发的 Linux 之前,我们先回顾一下Linux的一些基本概念与本地Linux配置方式。

1.1 概述

概述这部分我就不抄度娘或课本了,以下是问GPT得到的答案:

Linux操作系统是一款免费、开源的操作系统,广泛应用于服务器、超级计算机、嵌入式设备等领域。
它的高度可定制性、稳定性和安全性,使得它成为了许多企业和组织的首选系统。

在服务器领域,Linux操作系统可以为企业提供强大的性能和可靠性,
支持多用户、多任务和多进程的运行方式,使得它可以同时处理多个任务,满足企业高并发的需求。
此外,Linux操作系统还提供了各种服务器应用程序,
如Web服务器、数据库服务器、邮件服务器等,这些应用程序可以快速部署并提供出色的性能。

在超级计算机领域,Linux操作系统可以提供高效的计算和数据处理能力,
被广泛应用于科学计算、气象预测、医学研究等领域。
例如,世界上前10台最快的超级计算机中,有9台都是运行Linux操作系统的。

在嵌入式设备领域,Linux操作系统可以为设备提供各种功能,如多媒体播放、图像处理、网络连接等。
由于它具有高度可定制性和灵活性,可以针对特定设备进行优化,
因此被广泛应用于智能手机、路由器、电视等设备中。

总之,Linux操作系统的应用场景非常广泛,它的开源、稳定、可靠和安全的特点,
使得它在各个领域都有着广泛的应用前景。

作为后端程序猿,LinuxOS 常用于服务器,学习并掌握Linux的基本用法是很有必要的。

1.2 安装Linux

我个人目前用的是Windows OS, 在 Windows 下我尝试过两种 Linux 配置方式:双系统、虚拟机。

1.2.1 Win与Linux 双系统

具体的步骤,网上都有答案,此处就不做赘述。这里给个大概的步骤:

  1. 下载镜像、准备U盘,然后将此U盘制作成启动盘;
  2. 在当前Windows系统下创建专门给Linux系统的分区;
  3. 重启电脑时,进入启动盘,完成双系统的安装和初始化;

注意,如果是乌班图等带图形化操作的Linux系统,可能需要做一些显卡等驱动的设置,以兼容两套不同的OS,避免某一系统因驱动不兼容卡死的现象。

双系统的优劣:

  • 优点:两套系统相互独立,平时互不影响,共享一套硬件。当某一系统出现系统级别的问题时,可通过另一套操作系统做一些修复操作。
  • 缺点:同一时刻只能运行一套系统,在一些场景:学习、项目部署等并不太灵活。

1.2.2 虚拟机下安装Linux

目前,PC端下常用的虚拟机软件有:VMware、Virtual PC、VirtualBox、VMLite等,此处以经典的VMware + CentOS 7为例。

考虑到大多数同学都选择用虚拟机的方式学习与使用Linux,此处就略微详细说明个人的安装参考步骤:

  1. 个人选择的虚拟机和映像文件版本:
  • VMware : VMware Workstation 16 Pro
    VMware下载链接:https://www.vmware.com/cn/products/workstation-pro.html
  • CentOS iso :CentOS-7-x86_64-DVD-2009.iso
    CentOS映像文件下载链接:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
  1. 选择 典型的简单安装向导,简单快速开始:
    step0

  2. 安装程序光盘映像文件:
    step1

  3. 然后,对于较新版本的VMware,这一步是设置用户名密码
    step2

注意,用户名密码是必填的,其中,用户名不能是大写开头,也不能和root用户冲突!

  1. 下一步,设置虚拟机名称。这里的虚拟机名称指的是这个Linux在虚拟机上显示的名称,以及存放虚拟机文件的名称:
    step3

    注意,这里的位置是存放虚拟机文件的路径。默认在C盘。因为虚拟机文件一般都不小,后期可能还会越堆积越多,因此不建议在C盘。初次使用可点击上面的“浏览”按钮设置位置,也可根据上面的提示在“编辑>首选项”中更改默认位置。

  2. 接着,选择默认的拆分文件:
    step5

  3. 下一步,选择自定义硬件:
    step6

  4. 下一步,自定义硬件,这里推荐采用最小化配置,一般20GB,2~4个处理器已经够用。当然,由于虚拟机已经帮我们做了隔离,此处想设置大点也没问题,取决于个人计算机配置。同时,不需要的设备也可以移除:
    step7

  5. 点击完成,之后就等待系统安装:
    step8

  6. 等待系统安装完成后,用我们先前设置过的用户名密码登录:
    step9

  7. 至此,基本已安装完成。登录完成后,我们应该可以看到一个简洁的桌面,这是因为现在的许多Linux也提供了图形化操作界面。但是一般 CentOS 多用于服务器,服务器资源有限,启动图形化界面会消耗很多资源。因此在学习与实际部署中,我们还是使用最小化安装,或者关闭图形化界面。我们在这里关闭图形化界面:

    • (1)切换到 root 用户。首次使用时,需要使用 sudo passwd root 命令设置 root 用户的密码。root 设置完成后,切换到root 用户;

    • (2)切换到 root 用户后,使用

      systemctl set-default multi-user.target
      

      命令关闭图形化界面;

      以下是上述两步的参考截图:
      step10

    • (3) 执行完 “systemctl set-default multi-user.target” 命令后,执行reboot 命令重启,或者使用VMware 提供的重启按钮让我们的CentOS虚拟机重启即可:
      step11

    准备工作大功告成!

1.3 初试shell

以上,我们的虚拟机安装完成了,我们可以在本地使用自己的Linux 操作系统了!程序猿的第一行代码都是hello world,接下来,我们在本地的Linux进行hello world 吧!

1.3.1 什么是shell

shell 其实就是指我们的命令行,是一个接收由键盘输入的命令,并将其传递给操作系统来执行的程序。bash 是 Bourne Again Shell 的缩写,是shell 的增强版本。

当我们尚未关闭 CentOS 的 图形化界面时,我们要访问 shell ,需要通过鼠标或快捷键 “召唤” 出 terminal,即终端。这是因为 Linux 是通过终端仿真器让用户访问shell的,简称终端。

在上面的小节中,我们已经将图形化界面GUI关闭了,现在再进入这个VMware 下的 CentOS ,就会直接进入终端使用shell,例如,登录完成后进入:

[sharry@localhost ~]$

中括号“[ ] ” 里包裹的结构为:用户名username@机器名machinename,中括号外的 $ 符号称为shell提示符。

当我们登录root用户(即根用户或超级用户)后,shell提示符就会变为 “#” ,意味着此时的 shell 可提供 root 用户特权。例如:

[root@localhost ~]#

1.3.2 HelloWorld

如果要输出 HelloWorld ,我们可能需要用到 shell 编程,这个在下面的章节会提到,我们就参考本文开头提到的参考教材,用几个常用的简单命令代替 HelloWorld 吧!

# 显示当前时间
date 

# 显示当月日历
cal

# 查看当前磁盘驱动器当前可用空间
df

# 显示可用内存
free

step12

至此,我们终于将命令行体验一遍啦!找回当年Linux实验 课的感觉有木有!

2. MobaXterm 连接工具

为了方便个人学习过程中向虚拟机传送文件、对虚拟机进行文件管理,我们可以使用一些连接工具连接我们的虚拟机。此处推荐MobaXterm:

MobaXterm下载地址:https://mobaxterm.mobatek.net/

下载的时候选择个人版就够用了。

以下是连接步骤:

  • 先查看目标ip,并尝试ping一下。由于我们在安装虚拟机的时候就已经设置了NAT与主机共用网络的模式,一般都能ping通:
    step12

ping

  • MobaXterm 点击 Session,首先输入我们先前ping过的地址 作为host,然后输入用户名密码进行连接:

step13

step14

3. 总结

借助公司准备为我们配备堡垒机的契机,我在本地事先配好了虚拟机,顺便做了这次笔记。

  • 配置 本地 Linux 常见方式:Windows 双系统、 虚拟机

  • 连接工具:MobaXterm ; 还有很多其他连接工具,例如 Xshell 等等,自行选用。

至此,准备Linux的工作完成,接下来我们可以愉快地使用Linux了!

本地ping不通虚拟机 问题描述: 虚拟机安装好之后,想要用crt连接却连接不上,然后就用本地的cmd窗口进行ping虚拟机测试,发现ping不通 如下图所示: 虚拟机的IP地址是 192.168.200.128 然后在本地进行ping测试,发现请求超时,无法ping通 解决方案: 造成这种问题的原因有很多种,但是无论是哪种原因导致的,大家都可以按照如下方式去排查 一.看虚拟机中使用的网卡网段设置是否正确 1.1先看该虚拟机用的是哪个网卡 1.2.确认该网卡的网段是否在同一个网段内. 例如:我们的虚拟机ip地址是192.1 阅读详情

相关推荐

VS Code通过ssh远程本地虚拟机Linux

学习,向同组的同学们一起进步啊

weixin_42292586的博客 3998

Windows本地访问虚拟机Linux

最近本人业余时间准备着手搭建一套VR系统,采用分布式微服务架构,因此我在本地创建了三台虚拟机作为三台服务器。当本地Windows系统在与虚拟机中Linux系统进行通信时,需要先进行相关的网络配置,否则将无法访问。因此本文将针对这方面的网络配置问题进行详细阐述。 本文对于虚拟机安装Linux操作系统的操作不做讲解,默认读者已经安装虚拟机和Linux操作系统。笔者预装的Linux系统版本是Re...

Calvin的博客 1万+

【Linux虚拟机】从头开始——Linux虚拟机安装、远程Shell 工具连接、内核编译教程

文章目录前言一、安装虚拟机二、虚拟机的初始化配置三、远程Shell 工具连接虚拟机四、下载Linux 内核并编译五、重新启动虚拟机,进入新内核系统 // 前言 谨记:写下这篇教程的目的,是为了记录自己在编译Linux内核时遇见的各种问题,让大家能少掉坑。虽然说事不过三,但这次是我第4次重新装系统、重新编译了… 提示:以下是本篇文章正文内容,内核已安装成功,下面的命令和方法可供参考 // 一、安装虚拟机 说明: 光盘映像文件:Ubuntu 20.04 server(服务器版本64位) 虚拟化软件:V..

weixin_44017994的博客 4024

windows系统下安装linux(centos7)虚拟机详细教程(virtualbox环境)

我们知道,我们想在Windows操作系统上跑Linux,需要安装一个虚拟机程序,然后下载一个Linux镜像,在该虚拟机程序中创建一个虚拟机,并使用该镜像安装对应的Linux操作系统,安装好之后,即可在Windows系统下跑虚拟机中的Linux系统。这里所说的镜像,类似于操作系统的安装包。所谓镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用。

怪咖@的博客 2万+

Xshell工具连接本地虚拟机Linux系统

使用Xshell工具连接Linux系统具有方便,易于操作等诸多特点。对于Xshell的介绍,我就不详细说了。我相信百度百科上的介绍更为权威一点。不过在这里小编给大家简单说一下使用Xshell连接Liunx系统。 很多朋友在虚拟机上安装完Linux系统后使用系统自带的终端输入Terminal感到不太方便。有时候本机和虚拟机系统相互来回切换比较麻烦。今天小编带着大家一起来看一下用Xshell工具连接虚拟机的实现吧。...

10年编程经验的老猿。 3651

clion连接本地虚拟机linux开发

使用CLion进行本地虚拟机Linux开发涉及几个关键步骤,包括在虚拟机中安装必要的工具、配置SSH连接以及在CLion中设置远程开发环境。

weixin_39291964的博客 2480

配置Linux

首先建议设置一下默认编辑器,这样我们通过MobarXterm的FTP工具打开文件时会以指定的编辑器打开,方便修改。点击配置按钮后,我们需要把网卡地址改为静态IP,这样可以避免每次启动虚拟机IP都变化。启动后需要选择安装菜单,将鼠标移入黑窗口中后,将无法再使用鼠标,需要按上下键选择菜单。此时你要输入密码,不过需要注意的是密码是隐藏的,输入了也看不见。原因:在虚拟机安装完成后,最好立刻设置一个快照,这样一旦将来虚拟机出现问题,可以快速恢复。而且我们可以在不同阶段拍摄多个不同快照作为备份,方便后期恢复数据。

weixin_43073401的博客 878

Linux本地虚拟机安装与基础操作完整指南

下载完千万别急着安装!先做两件事:SHA256校验完整性# 输出类似:然后去官网核对哈希值是否一致。GPG签名验证真实性更进一步,还可以用 GPG 验证文件是否来自官方团队:# 导入Ubuntu构建密钥# 验证签名如果输出,那就万无一失了。当我们谈论虚拟机时,表面上是在讨论软件安装、资源配置、网络拓扑……但深层里,我们在训练一种可逆性思维——即任何改变都可以被撤销,任何错误都不会成为终点。这种心态对开发者尤为重要。

weixin_28793831的博客 976

【linux 学习笔记】创建新虚拟机

新建虚拟机

king_2016_6_6的博客 1486

Vivado工程芯片型号更换全流程:从IP更新到生成新bit文件(避坑指南)

本文详细介绍了Vivado工程中更换芯片型号的全流程,包括IP更新、约束文件适配和生成新bit文件的关键步骤。特别针对FPGA开发中常见的兼容性问题提供避坑指南,帮助开发者高效完成芯片迁移,确保设计稳定性和性能优化。

weixin_42549451的博客 300

解决2020R2,2022R1等版本的SCDM无法编辑草图尺寸的问题

解决2020R2,2022R1等版本的SCDM无法编辑草图尺寸的问题

y_u_yu_yu_的博客 1万+

3分钟快速学习安装Linux虚拟机

目录 引言 一、Linux简单介绍 二、Linux虚拟机安装 三、虚拟机配置 3种连接网络的办法 关闭防火墙 ping命令 总结 引言 有很多初学Linux的小伙伴们,想知道如何安装虚拟机,今天就来给新手小白们详细的说一说安装步骤和详细解释,希望对有所帮助 一、Linux简单介绍 Linux,全称GNU/Linux,是一种免费使用和自由传播的类Unix操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布 Linux不仅系统性能稳定,而且是开源软件。其核心防火墙

y1035793317的博客 745

解决VM 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VM 的方法

在启用了Credential Guard或Device Guard的Windows 10主机上启动12.5版之前的VMware Workstation中的虚拟机时,将显示蓝色诊断屏幕(BSOD)。 会看到类似于以下内容的错误: VMware Workstation和Device / Credential Guard不兼容。禁用Device / Credential Guard后,可以运行VMwar...

Hern(宋兆恒) 39万+

Xshell连接本地Linux虚拟机

前言 Xshell 连接本地Linux虚拟机时,关键就是要知道Linux系统的IP地址,而连接虚拟机中Linux系统也一样。下面以Xshell连接本地虚拟机中的CentOS7.1为例。 第一步:进入VMware workstation centOS Linux系统,用ifconfig命令看是否能看到IP 。 可以看到,这个没有IP的。 第二步:通过修改配置文件,手工设置IP,执行命令 #vi /etc/sysconfig/network-scripts/ifcfg-ens* (*根据实际情况

噗嗤 1万+

ATAC-seq差异分析实战:从原始数据到GO富集(R/Bioconductor全流程)

本文提供了ATAC-seq差异分析的完整R/Bioconductor实战流程,涵盖从原始数据准备、一致峰集构建、计数矩阵生成,到使用DESeq2进行差异可及性分析,以及差异峰的基因组注释与GO富集分析。文章详细讲解了关键步骤、参数设置和常见问题,旨在帮助研究者获得可靠且可解释的生物学结果。

weixin_29246195的博客 232

电商产品组合策略:引流品与利润品的实战方法论

在电商运营中,产品组合策略是提升流量转化与利润增长的核心技术。其基本原理是通过数据化选品构建产品矩阵,利用引流品吸引用户流量,再通过利润品实现商业变现。这种策略不仅能优化广告投放的ROAS(广告投入产出比),还能显著提升客单价。技术实现上需要结合Google Analytics等工具进行归因分析,并运用动态库存管理模型控制风险。该方案特别适用于Amazon、Shopify等电商平台,能有效解决跨境电商业内流量获取与利润创造的平衡难题。通过实战案例可见,合理的产品组合可使客单价提升30-50%,是电商运营必备

weixin_42522009的博客 356

【ssh】vscode 远程连接(本地虚拟机) Linux 服务器

安装Remote-SSH并配置 首先打开 vscode,找到Extensions,搜索Remote,下载Remote-Developoment插件,会自动安装其他的Remote插件,其中会包含Remote-SSH: 进入设置,搜索ssh,找到并选中拓展中的Remote-SSH中的Show Login Terminal选项,因为在连接的时候,终端会让你输入yes或者密码等: 接着,需要配置你的Linux服务器地址信息,按 CTRL+SHIFT+P,搜索ssh,找到Open Configuration

isanth 5万+

Python经常遇到导入xlwings就出错,如何解决

Python经常在导入xlwings时遇到错误。有人建议尝试重装或升级xlwings,但这些操作后仍然无法解决导入错误问题。

felix_8的博客 1740

Linux:Termius连接本地虚拟机与虚拟机快照

VMware虚拟机(Workstation和Funsion)支持为虚拟机制作快照。通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。如果损坏的话,重新安装一个Linux操作系统就会十分麻烦。在学习阶段我们无法避免的可能损坏Linux操作系统。

Blue_Pepsi_Cola的博客 1838

yolov5直接调用zed相机实现三维测距(python)

zed代码比较简洁,但是一定要把环境配置好,后续自己会把他当做普通双目标定,去对比分析效果,并完善相关功能。

积极向上的mr.d的博客 1万+

DeerFlow 系列教程 第十一篇 | Sandbox 沙箱与 Memory 记忆——安全执行与持久认知

用户请求│▼Lead Agent├── 系统提示词组装│ ├── <memory> 段 ← Memory 系统注入用户记忆│ ├── <skill_system> 段│ └── <subagent_system> 段│├── 工具调用│ ├── read_file ├── Sandbox 系统提供隔离执行│ ├── write_file├── 路径虚拟化 + 安全验证│└── 对话结束│▼│├── 过滤消息(去除工具调用中间步骤)├── 检测纠正/强化信号。

weixin_43674738的博客 163

解决 Xshell 等工具连接虚拟机失败

解决 Xshell 等工具连接 VMawre 虚拟机失败的问题

emmmm..... 6695

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【Linux】1.配置本地电脑与Ubuntu虚拟机的SSH连接

详细介绍用SSH连接Ubuntu虚拟机的过程。

txh1013的博客 4487

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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Centos虚拟机安装配置与MobaXterm工具及Linux常用命令

CentOS(Community Enterprise Operating System)是一种基于Linux的操作系统,它是由社区开发和维护的免费开源软件。CentOS是基于Red Hat Enterprise Linux(RHEL)的源代码构建的,因此它与RHEL非常相似,提供了稳定、可靠和安全的操作系统环境。CentOS是一种稳定、可靠和安全的开源操作系统,它基于RHEL构建,并提供了广泛的兼容性和软件包管理功能。

让优秀成为一种习惯! 3401

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Vm linux虚拟机与本地宿主机互通

1.建立vm虚拟适配器; 2.本地设置虚拟适配器IP跟本地ip同网段,同网关; 3.更改dhcp设置,nat设置,网关选择本地ip; 4.修改虚拟机静态ip,与本地ip同网段,网关选择本地ip即可上网,网关选择同网段未使用的ip,则虚拟机不能上网但跟宿主机可以互通。 ...

数据之心-小赵 6911

VirtualBox 使用教程:创建本地Linux虚拟机

使用VirtualBox虚拟机,本地创建一个linux服务器虚拟机,用于开发和测试,快速开具的说明文档。

快速开局 3929
上一篇: 【工具与中间件】EasyExcel 常用操作
下一篇: 【Linux】文件常见操作
CoderSharry
博客等级 码龄4年 515粉丝 69原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值