<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sinom21</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sinom21]]></copyright><item><title><![CDATA[基于keras与tensorflow手工实现ResNet50网络]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/128126163</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/128126163</guid><author>sinom21</author><pubDate>Sat, 03 Dec 2022 20:24:24 +0800</pubDate><description><![CDATA[在文章 基于tensorflow的ResNet50V2网络识别动物，我们使用了keras已经提供的神经网络，完成了图像分类的。这个时候，小明同学就问了，那么我怎么自己去写一个神经网络来进行训练呢？
本文就基于tensorflow，自己定一个神经网络。
从结构上看，与我们之前的的区别在于，输入的格式变成(3,224,224)
ResNet50有两个基本的块，分别名为Conv Block和Identity Block
模型训练(resnet50_model_train.py)
将 基于tensorflow的Re]]></description><category></category></item><item><title><![CDATA[基于tensorflow的ResNet50V2网络识别动物]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/128094714</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/128094714</guid><author>sinom21</author><pubDate>Tue, 29 Nov 2022 20:40:23 +0800</pubDate><description><![CDATA[之前很多人在，如何进行XXX的识别，对应的神经网络如何搭建。对应神经网络怎么搭建，我也是照本宣科，只能说看得懂而已，没有对这块进行深入的研究，但是现在tensorflow，paddle这些工具，都提供了非常成熟的神经网络进行直接使用。本文对过往的一些文章进行改造，使用已经集成的神经网络，简单的实现多个种类的动物识别。]]></description><category></category></item><item><title><![CDATA[java直接内存的读写操作]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/122307804</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/122307804</guid><author>sinom21</author><pubDate>Tue, 04 Jan 2022 21:45:00 +0800</pubDate><description><![CDATA[前言

在之前已经讲过了一些关于直接内存的知识，相对于的就会去思考，直接内存是怎么去使用的。

首先说明下，一般不会直接这样去用直接内存，这个例子只能当做一个例子去使用，netty里面有许多非常经典的使用方式，可以参考下。



代码

这里没有什么好说的先上代码吧。



public class BufferTest4 {

private static final int BUFFER = 10 * 1024 * 1024;//10m

//直接分配本地内存空间
private...]]></description><category></category></item><item><title><![CDATA[JVM与直接内存分析]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/122209763</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/122209763</guid><author>sinom21</author><pubDate>Wed, 29 Dec 2021 10:27:08 +0800</pubDate><description><![CDATA[前言

之前在看netty的时候，不断的提到直接内存与零拷贝，所以就想看看JVM与直接内存的之间的关系；



环境准备

系统：macOS 11+

Jdk:jdk1.8

内存：16G



直接内存分析

1.直接内存与heap空间、meta空间之间的关系

Code-1:申请直接内存





//-Xmx2g -XX:+PrintGCDetails
public class BufferTest1 {

    private static final int BUFFER =  1024 * 1]]></description><category></category></item><item><title><![CDATA[关于Nginx文章迁移]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/120712804</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/120712804</guid><author>sinom21</author><pubDate>Mon, 11 Oct 2021 21:59:59 +0800</pubDate><description><![CDATA[对nginx的文章内容进行迁移

Nginx源码分析——Nginx在MacOS环境下源码安装

Nginx源码分析——Nginx目录结构

Nginx源码分析——Nginx架构分析

Nginx源码分析——main函数（一）

Nginx源码分析——main函数（二）

Nginx源码分析——master进程与worker进程（一）
...]]></description><category></category></item><item><title><![CDATA[Nginx源码分析——worker进程源码与工作原理（二）]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/120275285</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/120275285</guid><author>sinom21</author><pubDate>Mon, 13 Sep 2021 20:58:34 +0800</pubDate><description><![CDATA[一、说明

前面很多内容，可以说大致了解了下nginx是进程是怎么启动的，进程之间是如何通信的，花一些时间或多或少也都还是能看得懂的，后面要去了解ngx_worker_process_cycle函数，worker进程所有的实现或者核心基本都是在这个函数里面，可能需要花蛮长的时间去消耗去理解。



二、方法主流程




static void
ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data)
{
// 我们的场景 worker=1，n...]]></description><category></category></item><item><title><![CDATA[Nginx源码分析——worker进程源码与工作原理（一）]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/120208868</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/120208868</guid><author>sinom21</author><pubDate>Thu, 09 Sep 2021 20:18:16 +0800</pubDate><description><![CDATA[一、说明

一般说到nginx整体架构的话，会用这样的架构图进行概述。worker进程的运行模块是整个nginx最为核心的代码模块。还有下面都是基于Unix操作系统的，windows的可以了解下。







二、核心问题

由于worker的工作原理这个命题比较大，我们就列了几个核心问题去解决他，解决了这些核心问题，那么基本上面worker进程是如何工作的就知道了。

问题一：worker进程是如何启动的？

问题二：worker进程里面的数据结构是怎么样的？

问题三：worker进程是如何实现请求监]]></description><category></category></item><item><title><![CDATA[Nginx源码分析——master进程与worker进程（二）]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/120146870</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/120146870</guid><author>sinom21</author><pubDate>Mon, 06 Sep 2021 22:52:37 +0800</pubDate><description><![CDATA[一、说明

在前面一章，我们大致了解了nginx进程的启动，没有深入的去看进程到底做做了些什么事情，本章我们就看看master进程工作到底在做什么。



二、函数分析

./src/os/unix/ngx_process_cycle.c&gt;ngx_master_process_cycle(ngx_cycle_t *)




ngx_new_binary = 0;
delay = 0;
sigio = 0;
live = 1;

for ( ;; ) {
if (delay) {
...]]></description><category></category></item><item><title><![CDATA[Nginx源码分析——master进程与worker进程（一）]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/120126311</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/120126311</guid><author>sinom21</author><pubDate>Mon, 06 Sep 2021 09:02:46 +0800</pubDate><description><![CDATA[一、说明

从默认的情况下分析，nginx启动之后会分别有一个master进程与一个worker进程



从上一章，了解到整个main函数的执行流程之后，我们就知道下面函数






ngx_master_process_cycle(cycle);



是启动master进程与worker进程的核心函数。

还有根据还是的知识，master进程与worker进程的职能分工入下





了解这些这后，我们继续深入的去看ngx_master_process_cycle 函数到底在做什么？



二、函数]]></description><category></category></item><item><title><![CDATA[Nginx源码分析——main函数（二）]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/120026996</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/120026996</guid><author>sinom21</author><pubDate>Tue, 31 Aug 2021 21:19:57 +0800</pubDate><description><![CDATA[启动流程（二）







if (ngx_add_inherited_sockets(&amp;init_cycle) != NGX_OK) {
 return 1;
}

识别NGINX_VAR环境变量，并且初始化&amp;cycle-&gt;listening添加socket fd，并且重新设置ngx_listening_t中的字段。










if (ngx_preinit_modules() != NGX_OK) {
 return 1;
}

./src/core/ngx...]]></description><category></category></item><item><title><![CDATA[裁员过程中的一些事情]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/119451230</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/119451230</guid><author>sinom21</author><pubDate>Fri, 06 Aug 2021 11:39:30 +0800</pubDate><description><![CDATA[过去几周，过的都是非常沉重的日子。由于行业的变化，整体团队优化60%，可能后续还有离职的。办公室一下就变得空荡荡的。

在这个过程中，自己也是过得很丧。不过工作生活总是要继续的。

整个过程，我也是全程的参与，有些人或者事情，做一下记录吧。



眼泪与自信

实习生是我们第一批，实习生E也是聊得第一个，一个女生。

开始叫她到过来的时候，她还以为是要聊正式合同的事情，应为差不多也是三方合同结束，改签正式合同的时候。

但是，收到的是一份解除合同的协议书，看到这个的时候，她就不住的流泪。

我们知道她刚刚在]]></description><category></category></item><item><title><![CDATA[智能之门——用程序分析概率问题]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/119206293</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/119206293</guid><author>sinom21</author><pubDate>Thu, 29 Jul 2021 20:31:36 +0800</pubDate><description><![CDATA[概率问题

之前在看电影的时候，看到这样一个场景：一个老师给他的学生三个盒子，说一个盒子里面有一百美金，其他两个盒子是空的，让一个学生去选择。一个学生选择好之后，老师突然问这个学生，我拿掉一个空盒子之后，你愿不愿意换一个盒子？

当时其实没有太在意这个问题，今天看到一个类似的这样的一个问题。

顾客参加一个抽奖活动，三个关闭的门后面只有一个有奖品，顾客选择一个门之后，主持人会打开一个没有奖品的门，并给顾客一次改变选择的机会。此时，改选另外一个门会得到更大的获奖几率么？我们暂时把他叫做智能门问题。



概.]]></description><category></category></item><item><title><![CDATA[分析谁是2020欧洲杯的最佳球员]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/118856877</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/118856877</guid><author>sinom21</author><pubDate>Sat, 17 Jul 2021 15:19:36 +0800</pubDate><description><![CDATA[问题

欧洲杯刚刚结束，就像看看有没有欧洲杯的数，分析下谁是本次欧洲杯表现最好的球员。于是我就上网找了一组数据。

网盘地址（提取码：hc9s）



【1】文件结构



【2】数据空处理


import numpy as np 
import pandas as pd 
import warnings
warnings.filterwarnings("ignore")
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.read]]></description><category></category></item><item><title><![CDATA[FastRCNN实现识别口罩]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/118723784</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/118723784</guid><author>sinom21</author><pubDate>Wed, 14 Jul 2021 11:41:06 +0800</pubDate><description><![CDATA[问题

由于新冠疫情的缘故，各地的公共场所都要求佩戴口罩，希望能够通过视频或者图片，识别出有没有佩戴口罩。



解决问题思路FastRCNN


a. 在图像中确定N个候选框

b. 对于每个候选框内图像块，使用深度网络提取特征

c. 对候选框中提取出的特征，使用分类器判别是否属于一个特定类

d. 对于属于某一特征的候选框，用回归器进一步调整其位置




[1]图片地址

训练集地址https://www.kaggle.com/andrewmvd/face-mask-detection

网盘...]]></description><category></category></item><item><title><![CDATA[tensorflow识别水果]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/118531325</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/118531325</guid><author>sinom21</author><pubDate>Tue, 06 Jul 2021 22:27:51 +0800</pubDate><description><![CDATA[问题

有一组水果的训练集，我们对模型进行训练，思路跟之前我们识别猫与狗一样。





设计解决这个问题的思路


1、下载与放置训练图片



2、现在对应的依赖，tensorflow、numpy等等



3、构建训练集合



4、建模



5、对模型进行训练



6、用测试模型进行验证



7、输出结果



8、优化模型 to step4






[1]图片地址

https://www.kaggle.com/moltean/fruits现在数据，现在速度比较慢，可以使用网盘。

网.]]></description><category></category></item><item><title><![CDATA[tensorflow识别猫与狗]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/118389014</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/118389014</guid><author>sinom21</author><pubDate>Thu, 01 Jul 2021 16:17:36 +0800</pubDate><description><![CDATA[问题

现在有很多的图片，里面分别有猫与狗，识别这些图片，区分猫与狗



设计解决这个问题的思路


1、下载与放置训练图片

2、现在对应的依赖，tensorflow、numpy等等

3、解析文件名，识别dog还是cat

4、建模

5、对模型进行训练

6、用测试模型进行验证

7、输出结果

8、优化模型 to step4



[1]图片地址

https://www.kaggle.com/c/dogs-vs-cats/data现在数据，现在速度比较慢，可以使用网盘。

网盘地址(提取码:l.]]></description><category></category></item><item><title><![CDATA[macOS下tensorflow安装]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/118363146</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/118363146</guid><author>sinom21</author><pubDate>Wed, 30 Jun 2021 15:59:53 +0800</pubDate><description><![CDATA[环境

操作系统：macOS Big Sur

Python版本：3.9



Tensorflow安装

# 我是macOS 不支持GPU

# 更新pip

$ pip install —upgrade pip

# pip安装tensorflow

$ pip install tensorflow





注意！！下面这个不要安装，安装了会出错的

$ pip install tf-nightly



如果报错了，卸载重新安装


pip uninstall tf-nightly

pip uni]]></description><category></category></item><item><title><![CDATA[Java中常见的CMS GC问题分析与解决（一）]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/116307513</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/116307513</guid><author>sinom21</author><pubDate>Fri, 30 Apr 2021 17:43:09 +0800</pubDate><description><![CDATA[Java中常见的CMS GC问题分析与解决（一）
目前，互联网上 Java 的 GC 资料要么是主要讲解理论，要么就是针对单一场景的 GC 问题进行了剖析，对整个体系总结的资料少之又少。前车之鉴，后事之师，我们搜集了内部各种 GC 问题的分析文章，并结合个人的理解做了一些总结，希望能起到“抛砖引玉”的作用。
关于GC
GC技术是JAVA语言用来进行内存自动管理的，避免了手动管理带来的悬挂指针（Dangling Pointer）的问题，大大提升了开发的效率。在GC技术发展到现在，都是基于三种基础GC算法的组合]]></description><category></category></item><item><title><![CDATA[mysql 8.X数据库源码阅读]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/108219547</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/108219547</guid><author>sinom21</author><pubDate>Tue, 25 Aug 2020 13:54:36 +0800</pubDate><description><![CDATA[mysql 8.X数据库源码阅读
初心
通过一步一步阅读数据库源码，深入的去理解一个数据库需要考虑的各种问题，比如存储、检索、网络连接等等问题。我会不断的更新我的github上面
目录
1.1  mysql8.0源码安装 for mac
2.1  mysql存储-存储引擎
2.2  mysql存储-CSV存储引擎
2.3  mysql存储-CSV插入数据
踩过的坑
1、开始使用的是mysql5.6，发现mysql不支持5.6在mac上的运行。
2、网上有很多关于mysql源码的分析，很多都是基于5.x进行分]]></description><category></category></item><item><title><![CDATA[2.3  mysql存储-CSV插入数据]]></title><link>https://blog.youkuaiyun.com/sinom21/article/details/108219701</link><guid>https://blog.youkuaiyun.com/sinom21/article/details/108219701</guid><author>sinom21</author><pubDate>Tue, 25 Aug 2020 13:53:14 +0800</pubDate><description><![CDATA[前言
上一节，我们大致过了一些mysql存储引擎为CSV类型的table文件是如何存储的。那么这一节，我们来看看一条insert语句是如何执行的，并且落到CSV文件中的。看了很多现在网上的源码分析，都是发现5.X与8.0代码上差距还是挺大的。
简单的插入
mysql&gt; insert into user1 values ( 1,'aaa','bbb');

代码分析
上一节大致我们提到，mysql是如何监听SQL_COM的,所有的入口都是在do_command
&gt;Per_thread_connec]]></description><category></category></item></channel></rss>