自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 [项目实训]——问题合集

项目实训

2022-06-05 01:31:03 506

原创 [项目实训]——后续代码部分优化

项目实训

2022-06-05 00:59:10 187

原创 [项目实训]——配置相关

进行项目学习使用的相关工具简介:anconda,pycharm,xshell,xftp介绍使用anconda优点是屏蔽了系统平台的差异,解决底层依赖。安装一个包之后依赖的东西全部能处理好。同时是虚拟环境,环境之间隔离,可以设定不同的python版本以及各种包,不会和系统的冲突,可以随便切换,服务器上防止影响他人。pycharm可以远程连接服务器,本地也可以直接对代码进行删改操作,简单方便。xshell简单说就是远程连接服务器,但是是命令行的操作界面。xftp也是远程连接服务器,但它是文件资源管理器

2022-04-17 18:37:13 123

原创 [项目实训]——提取gif片段

思路: 结合原文件、场景的帧位置和存储是否是关键帧的数组,来生成gif首先得到帧位置的代码datasetF = h5py.File('csv/changan12NewALL.h5', 'r')#这里的h5文件是之前自己生成的h5文件dataFeature=datasetF['video_1']['features'][...]#之后就用dataFeature得到场景的帧位置之前确认是否是关键帧的数据储存在machine_summary中,这里也会利用h5文件再把这个数据提取出来,将关键帧单独

2022-04-17 17:47:55 184

原创 [项目实训]特征提取

简介:使用googenet网络提取A的特征得到A.h5和之前所提到的create_data差不多,但是有所优化之前提到create_data,这个代码中引用util里的Generate_Dataset,作用是:将视频转换为帧,特征提取,获得转换点,用户总结(用于评估)优化部分: self.google=googlenet(pretrained=True) self.google.float() self.google.cuda() self.goog

2022-04-17 16:59:17 1309

原创 [项目实训]——Video-Summarization-Pytorch(2)

详细了解算法运算过程环境配置python=3.xPytorchGPUtabulate文件结构项目地址https://github.com/TorRient/Video-Summarization-Pytorch可通过git clone项目create_data首先第一步是准备数据集,即将视频片段放入dataset中,并启动create_data方法,其中的关键代码是 gen = Generate_Dataset(args.input, args.output)

2022-04-17 15:41:42 1536

原创 [项目实训]——Video-Summarization-Pytorch

简介:针对无监督视频摘要的深度强化学习,具有多样性代表性奖励再简介:经过分析,是对视频片段进行特征提取,并以此训练一个模型,然后对视频进行摘要分割,而其中过程中的有一个能存储关键帧的数组,则是需要的结果。(项目利用的方法)项目目标以及算法的介绍本项目中旨在的目标是关键帧的提取,并根据提取的关键帧来获取关键视频片段。首先详细介绍Video-Summarization-Pytorch,这是一个视频摘要技术。所谓视频摘要,就是将视频拆解为简短的片段。采取的方法是开发了一个深度摘要网络(DSN)来进行视频摘

2022-04-17 14:04:13 1375

原创 Netty源码ByteBuf2021SC@SDUSC

2021SC@SDUSC文章目录ByteBuf介绍ByteBuf介绍ByteBuf是一个缓冲区数组,同时它继承自ReferenceCounted,和Comparable< ByteBuf >与普通的基本字节数组一样,ByteBuf使用基于零的索引。这意味着第一个字节的索引始终为0,最后一个字节的索引始终为容量-1顺序访问索引ByteBuf 提供了两个指针变量来支持顺序读写操作——readerIndex 分别用于读操作和 writerIndex 用于写操作。下图显示了缓冲区如何被两个指

2021-12-27 22:06:15 67

原创 Netty源码sync2021SC@SDUSC

2021SC@SDUSC文章目录awaitincWaiters();checkDeadLock// Wait until the server socket is closed.等待服务器套接字关闭f.channel().closeFuture().sync();DefaultPromise中有@Overridepublic Promise<V> sync() throws InterruptedException { await(); reth

2021-12-27 21:34:00 149

原创 Netty源码ChannelFuture(3)2021SC@SDUSC

2021SC@SDUSC文章目录ProgressivePromisesetProgresstryProgressGenericProgressiveFutureListenerGenericFutureListenerProgressivePromisepublic interface ProgressivePromise extends Promise, ProgressiveFuture {ProgressivePromise类继承了Promise, ProgressiveFuture,完善

2021-12-27 20:59:16 83

原创 Netty源码ChannelFuture(2)2021SC@SDUSC

2021SC@SDUSC文章目录PromisesetSuccesstrySuccesssetFailuretryFailuresetUncancellable对ChannelFuture作进一步分析,上次看到netty封装了Java的future,再然后就是//Special Future which is writable.特殊的可写的Future 。public interface Promise extends Future {Promisepublic interface Promi

2021-12-27 20:42:21 140

原创 Netty源码断线重连的2021SC@SDUSC

2021SC@SDUSC文章目录connect()上次先是搞清楚了ChannelFuture是什么,明白了ChannelFuture是用来支持异步回调事件,并且在代码中使用的是监听器做异步回调处理。connect()public void connect() throws Exception { System.out.println("netty client start。。"); //启动客户端去连接服务器端 ChannelFuture cf = b

2021-12-06 12:53:14 311

原创 Netty源码ChannelFuture2021SC@SDUSC

2021SC@SDUSC文章目录ChannelFuture是什么java本身的Future类Netty封装的Future类ChannelFuture是什么在开始分析断线重连的具体过程之前,其中一个方法是在ChannelFuture对象上监听,可以先搞清楚ChannelFuture是什么。//绑定一个端口,生成了一个channelFuture对象// 启动服务器。并绑定端口ChannelFuture cf = bootstrap.bind(6668).sync();//对关闭通道进行监听cf.

2021-11-29 13:33:30 206

原创 Nett源码剖析注册通道2021SC@SDUSC

2021SC@SDUSC在绑定端口过程中,类initAndRegister里有注册通道方法ChannelFuture regFuture = config().group().register(channel);首先会发现 public ChannelFuture register(Channel channel) { return next().register(channel); }这里先分析next() public EventLoop next() {

2021-11-22 22:49:16 204

原创 Nett源码剖析ServerBootstrap的设置2021SC@SDUSC

2021SC@SDUSC文章目录bootstrap的设置剖析其他bootstrap的设置剖析bootstrap.group(bossGroup, workerGroup)//设置两个线程组 .channel(NioServerSocketChannel.class)//使用NioSocketChannel作为服务器通道实现 .option(ChannelOption.SO_BACKLOG, 128)//设置线程队列得到连接

2021-11-14 23:50:55 555

原创 Nett源码剖析(2)NioEventloopGroup的创建2021SC@SDUSC

2021SC@SDUSC文章目录new ThreadPerTaskExecutor(newDefaultThreadFactory());newchild上文说到这里是NioEventloopGroup创建的关键部分(由于大家都在分析那就只能再扣点细节说),先贴出代码:protected MultithreadEventExecutorGroup(int nThreads, Executor executor, E

2021-11-07 20:16:30 167

原创 Nett源码剖析(1)NioEventloopGroup的创建2021SC@SDUSC

2021SC@SDUSC文章目录NioEventloopGroupnew NioEventLoopGroup();核心NioEventloopGroup类结构图:很遗憾我的idea不是旗舰版,所以未能找到我现在正在研究的netty类图结构,只能先用这个看下既然是叫事件执行器组,那就是和多个事件执行器工作相关的功能注册和next这里我的理解是多线程和事件执行器嘛,比较关键的是这个newChild,上边的也只是分析了解即可,这个new NioEventLoopGroup();话有一个返回值是

2021-10-31 21:04:29 170

原创 Netty断线重连的简单实现2021SC@SDUSC

2021SC@SDUSC文章目录什么是断线重连断线重连简单实现实例什么是断线重连顾名思义就是,在客户端和服务器连接的过程中,客户端网络不好第一次没有连接上,这个时候,可以执行断线重连的部分方法再把客户端连接到服务器。这里面比较关键的实现是一个监测到客户端掉线的方法断线重连简单实现实例public class NettyClient { public Channel channel; private Bootstrap bootstrap; private static

2021-10-24 23:07:56 253 1

原创 Netty改进理解2021SC@SDUSC

2021SC@SDUSCnetty的改进介绍简单介绍Netty工作原理示意图简单介绍我们知道Netty可以简单的说是NIO的进阶版,那他主要的优势体现在哪呢?最为简易的介绍就是Netty 对 JDK 自带的 NIO 的 API 进行了封装。这些封装使得Netty能简单的实现NIO更复杂的操作。也会有更高的性能、更高的吞吐量、更低的延迟、更少的资源消耗、最小化不必要的内存复制等等。Netty工作原理示意图传统io的示意图(用于对比梳理)介绍:可以看出,传统io首先存在的问题就是高并发数下就会出

2021-10-17 22:59:37 75

原创 Netty前身基础NIO介绍理解2021SC@SDUSC

2021SC@SDUSC文章目录NIO介绍IO模型同步非阻塞NIO简单示意图NIO核心介绍三大核心关系的简单描述:三大组件简单介绍缓冲区(Buffer)通道(Channel)Selector(选择器)个人认为要先从认识netty入手,再开始核心代码的研究。那么了解到netty和基础核心是NIO框架,所以先从NIO入手开始学习。NIO介绍NIO是一种同步非阻塞的网络编程模型,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O 请求

2021-10-10 22:44:15 79

原创 山东大学软件工程应用与实践Netty小组课题综述2021SC@SDUSC

文章目录2021SC@SDUSCNetty小组课题介绍Netty简介与分析:Netty的优点安装环境2021SC@SDUSCNetty小组课题介绍hello,此次课题主要任务为分析项目源代码,给出netty代码分析报告,本人主要初定任务为了解断线重连策略,尝试使用Netty实现断线重连机制。其他分工详见队长博客传送门https://blog.csdn.net/fangjiayou/article/details/120382942?spm=1001.2014.3001.5501此系列博客为

2021-09-29 19:12:22 126

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除