- 博客(505)
- 资源 (11)
- 收藏
- 关注
原创 【动手学深度学习】现代卷积神经网络汇总
本文汇总现代卷积神经网络,包括LeNet、AlexNet、VGG、NiN、GoogLeNet、ResNet、DenseNet。列举各网络的网络结构、实现代码以及其网络特征。
2023-05-13 23:13:17
700
8
原创 【动手学深度学习】使用块的网络(VGG)
原始VGG网络有5个卷积块,其中前两个块各有一个卷积层,后三个块各包含两个卷积层。 第一个模块有64个输出通道,每个后续模块将输出通道数量翻倍,直到该数字达到512。由于该网络使用8个卷积层和3个全连接层,因此它通常被称为VGG-11。
2023-04-21 10:39:21
128
原创 【Flume】高级组件之Channel Selectors及项目实践
通俗来讲,Channel Selectors组件控制Source采集到的数据分别流向哪些Channels。组件包括Replicating Channel Selector、Load Balancing Channel Selector和Multiplexing Channel Selector,其中Replicating Channel Selector是默认的Channel选择器,它会将Source采集过来的Event发往所有Channel;
2023-02-10 23:44:57
491
原创 【Flume】高级组件之Source Interceptors及项目实践
Flume的核心组件包括:Source、Channel和Sink;Source Interceptors:Source可以指定一个或者多个拦截器按先后顺序依次对采集到的数据进行处理;Channel Selectors:Source发往多个Channel的策略设置,如果Source后面接了多个Channel,那么到底是给所有的Channel都发,还是根据规则发送到不同Channel,这些是由Channel Selectors来控制的;
2023-02-08 13:24:45
359
原创 【Flume】Flume实践之采集网站日志上传至HDFS
将机器A(bigData02)和机器B(bigData03)两台机器实时产生的日志数据汇总到机器C(bigData04)中,再通过机器C(bigData04)将数据统一上传至HDFS的指定目录中。因为一台机器可以有多个ip,例如:内网ip、外网ip,如果通过bind参数指定某一个ip的话,表示就只监听通过这个ip发送过来的数据了,这样会有局限性,所以使用通用ip。一共涉及到三个机器,其中机器A和B收集网站信息,并发送给机器C汇总传输到HDFS,因此需要配置三台机器,机器A和B的配置基本相同。
2023-02-06 15:34:32
528
原创 【Flume】Flume实践之采集文件内容上传至HDFS
要完成这个任务就需要使用在采集数据时使用Spooling Directory Source组件;传输数据时为了保证数据没有丢失风险,使用File Channel组件;在运行Flume之前应该先检查建立采集数据的文件夹和文件,且系统此时直接启动会报错提示找不到SequenceFile,虽然我们已经把fileType改为了DataStream,但是Flume默认还是会加载这个类。Flume各个组件的参数很多,因此通常复制官网的各组件样例程序并参照参数表进行修改。解决了这个问题后,在。
2023-02-03 00:00:13
822
原创 【Flume】Flume原理简述及示例实践
首先看左边这个Agent,给他起个名字叫 foo,有一个Source,Source后面接了3个Channel,表示Source读取到的数据会重复发送给每个Channel,每个Channel中的数据都是一样的,针对每个Channel都接了一个Sink,这三个Sink负责读取对应Channel中的数据,并且把数据输出到不同的目的地,Sink1负责把数据写到HDFS中,Sink2负责把数据写到一个Java消息服务数据队列中,Sink3负责把数据写给另一个Agent。的Agent,将Source组件命名为。
2023-02-02 14:37:26
983
1
原创 【Hadoop】YARN多资源队列配置及使用实践
由于MapReduce默认采用Capacity Scheduler(详见),因此理论上可以存在多个队列,而默认只有一个队列(default),现有需求:额外创建两个队列分别为online和offline,将这三个队列的资源分别分配为70%、10%、20%,且允许在资源不足时借用其他队列的资源,但最多不能超过70%(online队列里面运行实时任务,offline队列里面运行离线任务,MapReduce属于离线任务),最后将WordCount任务提交到offline队列执行。
2023-01-31 23:49:42
627
原创 【Hadoop】YARN简述
YARN是Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
2023-01-30 12:37:38
351
原创 【Hadoop】MapReduce数据倾斜问题解决方案
默认情况下Map任务的数量与InputSplit数量保持一致,Map阶段的执行效率也与InputSplit数量相关,当遇到大量的小文件时我们采用SequenceFile合并成一个大文件,以此来提高运行效率(默认情况下只有一个Reduce任务,那么解决了map阶段的小文件问题后,Reduce阶段的运行效率就是MapReduce运行效率的短板,我们当然可以通过增加Reduce任务的数量来提高数据处理的并行度,以此提高效率,但这种处理是“治标不治本”的。
2023-01-29 16:43:24
322
原创 【Hadoop】MapReduce小文件问题解决方案(SequenceFile,MapFile)
Hadoop的HDFS和MapReduce都是针对大数据文件来设计的,在小文件的处理上不但效率低下,而且十分消耗内存资源。在这篇博客中有提到HDFS的小文件问题,集群启动时DataNode会向NameNode上报所有的Block块信息,每个块(无论大小)对象约占150byte,而NameNode的内存是有限的,那么有可能集群内部其实并没有存储多少数据,但是NameNode已经存满了,针对这个问题采用Federation机制可以缓解。
2023-01-27 14:54:45
557
原创 【Hadoop】MapReduce分布式计算实践(统计文本单词数量)
在博客【Hadoop】MapReduce原理剖析(Map,Shuffle,Reduce三阶段)中已经分析了MapReduce的运行过程,以及部分原理。那么这篇博客则是进行一次实践,使用MapReduce统计文本中的单词数量。实际上我们只需要写Mapper和Reducer部分的代码即可,最后在Main中进行一些设置即可。
2023-01-26 18:29:37
472
原创 【Hadoop】MapReduce原理剖析(Map,Shuffle,Reduce三阶段)
MapReduce是一种分布式计算模型,是Google提出来的,主要用于搜索领域,解决海量数据的计算问题。MapReduce的全套过程分为三个大阶段,分别是Map、Shuffle和Reduce。结合多篇资料,我最终确定划分11个小步骤来描述这个过程,在后续的内容中我也会结合一部分源码来进行剖析。
2023-01-25 17:21:31
1073
原创 【Hadoop】HDFS+Shell实践(定时上传数据至HDFS)
这篇博客是一个结合HDFS的Shell练习,相对简单。现有需求:每天1:00需要从系统上传一份昨天的日志文件到HDFS,日志文件的格式为access_2023_01_01.log,HDFS目录格式为20230101。在shell脚本中向yesterday变量赋值时使用反引号(``),因为需要解析反引号中的字符命令并执行得出结果。这行命令是为了加载环境变量,因为直接使用了。文件即为上传的日志文件。命令,正常情况下应该是。
2023-01-24 21:07:58
766
原创 【Hadoop】HDFS回收站与安全模式
HDFS在core-site.xml中进行配置后,会为每一个用户在“/user/用户名/.Trash/”地址创建一个回收站目录,每个被用户使用Shell命令行删除的文件或者目录,都会被移动到回收站目录中。但如果一直保存而不清空回收站目录的话,注定会出现问题,因此回收站中的数据都有一个生存周期,也就是当回收站中的文件或者目录在一段时间之内没有被用户恢复的话,HDFS就会自动的把这个文件或者目录彻底删除。注意:默认情况下HDFS的回收站是没有开启的,需要通过修改core-site.xml配置文件来开启。
2023-01-24 11:54:38
108
原创 【Hadoop】HDFS高可用与高扩展原理分析(HA架构与Federation机制)
通俗的讲,集群启动时DataNode会向NameNode上报所有的Block块信息,每个块(无论大小)对象约占150byte,而NameNode的内存是有限的,当HDFS文件愈来愈多的时候,NameNode就会成为集群的短板(这也是为什么HDFS不适合存储小文件的原因)。图中的Zookeeper是为了实现自动切换NameNode功能,当多个NameNode启动的时候会分别向Zookeeper中注册一个临时节点,当它挂掉的时候,这个临时节点也就消失了,这是Zookeeper的特性。
2023-01-23 23:11:36
1393
原创 【Hadoop】HDFS体系结构分析
HDFS主要包含NameNode、Secondary NameNode和DataNode三部分,且这三部分在分布式文件系统中分属不同的机器,其中Secondary NameNode不是必须的,在HA架构中Standby NameNode可以替代它。
2023-01-22 12:59:13
663
原创 【Hadoop】HDFS的常见Java操作
本文仅记录上传文件、下载文件和删除文件三个操作。这三个操作有着相似的逻辑,都是先创建配置对象,然后获取操作HDFS的对象,最后再进行各自的功能实现。
2023-01-19 11:51:04
133
原创 【Hadoop】HDFS的常见shell操作
本文主要介绍了HDFS的常见shell操作,包含查询指定路径信息、上传和下载文件、浏览文件、创建文件夹、删除操作以及综合应用等。
2023-01-18 11:53:29
1130
原创 【Linux】shell基本语法
博客内容包含shell语言中的变量、引号使用、循环语句、判断语句、shell后台执行、标准输出、标准错误输出、重定向、定时执行脚本。
2023-01-17 13:19:34
460
原创 【Linux】三剑客命令之awk命令的常见用法
Linux三剑客指的是`grep`、`sed`、`awk`这三个命令。其中`awk`命令的详细用法有很多,但这里只介绍了常见用法。`awk`是一个强大的文本分析工具,它把文件逐行读入,以空白字符为默认分隔符将每行内容切片,切开的部分再进行各种分析处理。`awk`的参数格式为`awk '{pattern + action}' `。
2023-01-15 21:04:49
489
原创 【Linux】三剑客命令之sed命令的常见用法
Linux三剑客指的是`grep`、`sed`、`awk`这三个命令。其中`sed`命令的详细用法有很多,但这里只介绍了常见用法。
2023-01-15 12:35:30
327
原创 【Linux】三剑客命令之grep命令的常见用法
Linux三剑客指的是grep、sed、awk这三个命令。其中grep命令的详细用法有很多,但这里只介绍了常见用法,本文最后也贴了该命令的帮助文档以供查阅。
2023-01-14 21:59:58
302
原创 【Linux】进程相关命令常见用法(ps|netstat|top|kill)
ps:显示进程信息netstat:显示端口信息top:动态监控进程信息kill:杀进程
2023-01-13 23:28:52
493
原创 【Linux】文件内容统计相关命令(wc|sort|uniq|head)
linux系统中文件内容统计相关命令介绍:统计文件字数信息(wc),文件内容排序(sort),文件内容去重(uniq),文件前N行读取(head)以及对其使用管道命令组合应用。
2023-01-13 12:17:25
352
原创 【python基础】邮件发送
1. 效果预览2. 代码实现注意:授权码不是邮箱登陆密码,需要在邮箱设置中申请获取。import smtplibimport timefrom email.mime.text import MIMETextfrom email.header import Headermail_host='smtp.126.com' # 126邮箱,别的邮箱需要改动,请自行查找mail_user='******@126.com' # 自己的邮箱mail_password='***********
2022-03-16 21:14:59
768
原创 【Web开发】下拉选择输入框实现
1. 效果预览2. 代码<label>gender</label><input name="gender" type="text" list="gender-list" placeholder="Male"><datalist id="gender-list"> <option>Male</option> <option>Female</option></datalist>
2022-03-16 20:50:20
1275
原创 【Web开发】基于swiper插件的轮播图实现
1. 效果展示 2.代码html代码中出现的{{}}和{%%}为flask框架的jinja2模板引擎内容,目的是为了实现前端代码循环以及后端数据引入,使用时类似{{}}的数据替换成自己的数据,{%%}中的for循环就把代码多拷贝几遍即可。<div class="owl-carousel owl-theme slide" id="featured"> <div class="swiper"> {% if swiper %} <div clas
2022-03-16 20:04:55
1070
原创 Git报错解决:remote: error: File:1f6cc8452313 157.10 MB, exceeds 100.00 MB
完整报错$ git push origin masterEnumerating objects: 25, done.Counting objects: 100% (25/25), done.Delta compression using up to 12 threadsCompressing objects: 100% (17/17), done.Writing objects: 100% (21/21), 114.94 MiB | 1.75 MiB/s, done.Total 21 (del
2022-02-27 00:02:25
2408
原创 【动手学深度学习】深度卷积神经网络_AlexNet
深度卷积神经网络_AlexNet1.网络结构网络结构计算过程:2.网络结构说明AlexNet与LeNet的设计理念非常相似,但也有显著的区别。第一,更大的卷积窗口和更多的卷积通道:AlexNet第一层中的卷积窗口形状是11×1111\times1111×11。因为ImageNet中绝大多数图像的高和宽均比MNIST图像的高和宽大10倍以上,ImageNet图像的物体占用更多的像素,所以需要更大的卷积窗口来捕获物体。第二层中的卷积窗口形状减小到5×55\times55×5,之后全采用3×33\t
2022-02-06 21:59:10
1748
原创 【动手学深度学习】卷积神经网络_LeNet
卷积神经网络(LeNet)1. 网络结构网络结构计算过程:2. 网络结构说明LeNet分为卷积层块和全连接层块两个部分。卷积层块里的基本单位是卷积层后接最大池化层:卷积层用来识别图像里的空间模式,如线条和物体局部,之后的最大池化层则用来降低卷积层对位置的敏感性。卷积层块由两个这样的基本单位重复堆叠构成。在卷积层块中,每个卷积层都使用5×55\times 55×5的窗口,并在输出上使用sigmoid激活函数。第一个卷积层输出通道数为6,第二个卷积层输出通道数则增加到16。这是因为第二个卷积层比第
2022-02-03 20:40:24
839
原创 多输入通道和多输出通道的卷积计算
1. 输入通道数为nnn,输出通道数为111当输入数据含多个通道时,我们需要构造一个输入通道数与输入数据的通道数相同的卷积核,从而能够与含多通道的输入数据做互相关运算。例如:含222个输入通道的二维互相关计算的例子。在每个通道上,二维输入数组与二维核数组做互相关运算,再按通道相加即得到输出。图中阴影部分为第一个输出元素及其计算所使用的输入和核数组元素:(1×1+2×2+4×3+5×4)+(0×0+1×1+3×2+4×3)=56(1×1+2×2+4×3+5×4)+(0×0+1×1+3×2+4×3)=56(
2022-01-25 18:16:53
1183
原创 【动手学深度学习】深度学习计算
深度学习计算文章目录深度学习计算1. 模型构造1.1 继承`Module`类来构造1.2 `Sequential`类来构造2. 模型参数的访问、初始化和共享2.1 访问模型的层数据2.1.1 访问多层感知机`net`的所有层数2.1.2 索引访问任意层2.2 初始化模型参数2.3 读模型参数2.4 读优化器参数3. 保存和加载模型3.1 保存和加载`state_dict`(推荐方式)3.2 保存和加载整个模型1. 模型构造1.1 继承Module类来构造import torchfrom torch
2022-01-25 11:11:36
1317
原创 【动手学深度学习】深度学习基础
深度学习基础文章目录深度学习基础1 线性回归1.1 线性回归从零开始实现生成数据集读取数据初始化模型参数定义模型定义损失函数定义优化算法训练模型1.2 线性回归的简洁实现生成数据集读取数据定义模型初始化模型参数定义损失函数定义优化算法训练模型2 softmax回归2.1 softmax回归的从零开始实现获取数据集初始化模型参数实现softmax运算定义模型定义损失函数定义优化函数计算分类准确率模型训练2.2 softmax回归的简介实现获取和读取数据定义和初始化模型softmax和交叉熵损失函数定义优化算
2022-01-24 12:34:21
1248
原创 【动手学深度学习】Tensor数据操作
Tensor数据操作文章目录Tensor数据操作1. Tensor创建2. 索引3. 改变形状4. 广播机制5. 运算的存储机制6. Tensor和NumPy相互转换7. 梯度1. Tensor创建# 导入一些常用库import torchfrom IPython import displayfrom matplotlib import pyplot as pltimport numpy as npimport randomimport torch.nn as nnimport torc
2022-01-23 22:12:58
1059
原创 【经典进程同步问题】读者-写者问题
问题描述假设一个系统中,有读者和写者两组并发进程,共享一个文件,当两个或两个以上的读进程同时访问共享数据时不会产生问题,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据时则可能导致数据不一致的错误。因此要求:1、允许多个读者可以同时对文件执行读操作。2、只允许一个写者往文件中写信息。3、任一写者在完成写操作之前不允许其他读者或写者工作。4、写者执行写操作前,应让已有的读者和写者全部退出。问题分析互斥访问:读者数目+1的时候使用mutex信号量保护,否则有可能出现读者增多了,但是读者
2021-06-21 12:52:52
1019
1
原创 【经典进程同步问题】多生产者-多消费者问题
问题描述桌子上有一只盘子,每次只能向其中放入一个水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,儿子专等着吃盘子中的橘子,女儿专等着吃盘子中的苹果。只有盘子空时,爸爸或妈妈才可向盘子中放一个水果。仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出水果。问题分析互斥访问:每个对盘子的操作都应该是互斥的,例如:女儿取苹果的时候,父亲和母亲不能放水果,儿子也不能取水果。进程同步:a. dad放入一个苹果,daughter才能吃一个;b. mum放入一个橘子,son才能吃一个;c. 盘子为
2021-06-21 12:42:06
317
企业员工管理系统源码!
2022-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人