外包公司干了不到 3 个月,我离职了

开源项目芋道源码解析 [开篇] 文章首发于我的博客:https://blog.liuzijian.com/post/source-code-about-ruoyi-vue-pro.html芋道(又名yudao,ruoyi-vue-pro)是一个基于spring-boot框架的单体Java后端开源项目,拥有基于RBAC模型的组织架构管理、CRM、ERP、商城、代码生成、AI等多个功能模块。封装了多租户、数据权限、工作流、OAuth,邮件、短信、定时任务、日志、链路追踪等多种技术和业务组件。其在GitHub上的地址是:https://gith 阅读详情

点击“开发者技术前线”,选择“星标????”

在看|星标|留言,  真爱

来源: cnblogs.com/zhangmumu/p/12117400.html


外包公司干了不到3个月,我离职了......当项目快要做完的时候,我就担心自己是不是要被“释放了”,直到外包HR,wx找我聊项目,我就不担心了,结果确实是要被“释放”。

从杭州到深圳,来的也突然,离职也有点突然,也是意料之中。本来想写“年终总结”,结果现在要“修改简历”,年前又要找工作了,试一试,实在找不到,只能提前“回家团聚”了,来年再干了!

ps:图片都涉及到隐私,我全都马赛克处理了,此文不会去黑外包公司的,写文章只是表达我个人看法,心理感悟。

1. 入职外包公司

说起来也挺搞笑的,我的工作是通过qq群找到了(ps:据说有很多菠菜喜欢在qq群发招聘信息,但是这工作是正经靠谱的)

那段时间在杭州,本来是想等国庆后再投投简历,没打算离开杭州。说实在的,我待过的城市中,我觉得杭州是真的不错,环境优美,鸟语花香,互联网氛围好了,ok,夸完了!

前世的500次看qq群聊天记录,换来一份短暂的外包工作。

后来我私聊了外包Hr,发了简历给他这是一家广州的外包公司,后来他看了简历(ps:也许什么都没看,为什么?会有解释的),觉得可以,然后安排项目经理电话面试一下。

电话面试很短,大概也就5,6分钟,现在回忆起来,什么都没印象了。但是我只记得一个问题,项目经理问我期望薪资是多少?我在原有基础上加20%。

随后,外包Hr问我项目经理问了哪些问题,问题都是泛泛而谈的,我就把薪资这个话题说了,外包Hr很严肃地说,不要和项目经理透露薪资,随后我就郁闷了,项目经理和外包Hr应该是一家公司啊?

那么问题来了!

1.项目经理电话面试为什么啥问题都没问?

2.外包Hr为什么对我向项目经理透露薪资如此敏感?

其实我被卖了两次,这也是我到深圳才知道的!

外包Hr是外包公司A, 项目经理是外包公司B 上班的地方是客户公司C 幼儿园式说法就是:

C有项目需要开发,C》B,B现在要招一个人,B手底下没有人,B》A,向A公司买一个“人头”。

然后A公司找到了我这个人头。

那么问题又来了

我是什么时候才知道我被卖了两次?

来深圳我记得很清楚10月3号,还有点小插曲,那一天我想“报警”了,是因为有点小插曲,刚在杭州洗了几条裤头和一双篮球鞋没干,放在袋子里,到深圳龙岗就莫名其妙地掉了。本来想报警看看警察局那边有没有失物招领的,后来懒得折腾,人不生地不熟的。

这么多年,我发现一个怪事、打火机、裤头、袜子真的很容易丢失!

说正事......

外包公司A的外包Hr给推荐了项目经理的微信号,叫我去找他领取电脑、熟悉项目相关的东西。

我才知道我被卖了两次,合同是10号签的,当然是和外包Hr的外包公司A签的,项目开始好像是20号,我在客户公司龙岗坂田附近租的房子,有一个多星期去搭公交车去南山的外包公司B上班。

虽然有点折腾,但是也能接受,工作嘛,就是这样,给钱办事!

至此我成功 入职外包公司.....

刷题一个半月,一口气拿下腾讯、华为、Oppo 、微软7个大厂offer,字节跳动薪资涨幅60%!

2. 在客户公司的那些日子

那天去上班,我还把我的显示器带了过去,项目经理的外包公司B发的是笔记本。后来发现这是一件非常沙雕的事情,可以带显示器,但是真没必要,客户公司的显示器挺多的。

有人问在客户公司一般不是干杂活嘛?怎么一个新项目,他们自己不做,非得把这个项目外包给外包公司。简单科普一下外包公司运作方式。

1 外包公司卖人头,把相当于把这个人力卖给客户公司,按人头计费

  1. 外包公司接项目,客户公司把项目给外包公司去做,按项目收费,不管你用了多少人。(ps:离职埋下了伏笔1)

每天8点上班,传统企业,熟悉的上班时间,5点下班!客户公司真的很不错,员工有几栋楼,上班环境也好,前台有两个,规模大,工作环境好,世界500强。好了,夸完了。

一个新的项目,从0到1,客户公司的项目经理,每天是要查看进度的。掌握你们外包人员每天都干了些什么事情。所以每天早上都要开早会。(ps:离职埋下了伏笔2)

前两个月还挺忙的,有时候加班,周六加班,这对于我来说还是一个不错的事情,毕竟外包公司规矩流程还是比较规范的,晚上加班给一顿饭钱30,周六加班可以调休。好了,夸完了。

客户的规矩也是蛮严格的,没办法,迟到你懂的。抽烟被抓到,客户公司还通报了,连外包公司B的项目经理都知道。(ps:离职埋下伏笔3)

我工作前一年都没有抽烟的习惯,后来感染上了这个坏习惯!一言难尽!程序员一定要戒烟啊!

“

刷题一个半月,一口气拿下腾讯、华为、Oppo 、微软7个大厂offer,字节跳动薪资涨幅60%!

3. 离职的伏笔

我知道我被卖了两次,我就有预感我肯定做不久,只是没想到这么快!关于为什么辞职,下面只要在外包公司做过的,都应该能感受到的......

叫我明年奋斗,应该是去外包Hr的外包公司的客户那里打杂,今年没事了,理所当然也要释放人,同时也会释放工资 (ps:你懂的)。

离职原因?

1.客户公司的项目快做完了,外包公司B出的人头大概是6个半,三个月做完!我又是二手货,不释放我,就有点难以理解!B没有和我签合同的,是外包Hr和我签的合同

2.迟到、抽烟被通报都是次要的,也搞不清楚,楼顶为啥不能抽!

3.合同是签了一年和外包Hr的外包公司A,年前释放工资,这一段时间没工资,真的是没有收入的,我在外包公司B上班的时候,他们叫我在家弄了两天,这两天都没有工资。成了按天结算的,我被迫成了三和大神工资结算方式!

4.有人问,是不是能力有问题,这并不需要解释,这个月发的是转正的工资。合同签1年,试用了两个月!

5.其他原因,我不方便说,毕竟职场嘛,你懂就好!

4. 谈谈外包公司的感悟

驻场外包和非驻场外包

我去深圳的外包公司B上班的时候,还挺羡慕那些非驻场开发的码农,我都开始幻想自己在那里上班的样子,好开心!好刺激!

驻场外包和接项目

驻场外包 :就是把你卖到客户公司去上班,一般都是驻场开发,基本就做些打杂的活,在甲方你不打杂,天理难容!一般就做一些老代码的维护工作。你品一下这句话,细品一下!

接项目:客户公司把项目让外包公司做,有可能驻场开发,有可能非驻场开发,有人问,我擦。新项目从0到1,那应该不是打杂!我想说确实不是打杂,但是这个项目也不是他们的核心业务,核心业务才是人家赚钱的地方!说到底,还是打杂!

年轻人可以打杂,但是要不忘初心,方能始终!

可以去试试外包公司

找工作其实最差的选择是去外包公司。为什么你还是有可能会进外包公司呢?职场就是这样,你没有站在他人的角度上去思考,你很难体会别人的感受。

有人说外包公司不就是干杂活的嘛,我在公司也干杂活,那么你可以去试试,体验一下,然后写一篇知乎体“在外包公司干活是一种什么体验?”

尽量去大一点外包公司啊,项目多,不然小外包公司,没啥客户,你被释放的概率就大的多了!年轻人(ps:用沙雕修饰)!

技能无法提升,对未来工作没有积累。

一般在客户公司上班,你有可能看到很多年的老代码,很多波人写,铁打的项目,流水的码农!

外包给别人做的工作或者项目,肯定是没有什么技术含量的,都是那些堆人就可以干的事情。除了年轻人还能加班,就没有任何优势了。

外包人员本身就是干杂活的,这一点全球职场人都可以证明的。干杂活还啥不好意思,就是技术水平低,甚至说不好听一点,引用冯小刚评论的一句话“垃圾人看垃圾电影”

看起来工资很高,但是其实你的时薪很低。

我不装了,我摊牌了

我以前在杭州的上班的时薪比在这里的时薪高,这一点我钉钉上的打卡记录都可以证明,没必要吹牛逼!

外包公司入职一般是试用期3个月(ps:虽然我是2个月,但是签的1年合同),试用期是80%的工资,试用期会让你跟正式员工一样的干活。一般都被外派到某大型**** 公司。

项目结束,随时可以走人。

我有点自知之明,没必要纠缠,看这篇文章的你,难道还不懂?

项目结束了,外包公司养不起你,人家赚的是人头费\项目费,不释放你,难道和你要“再续前缘”?传一段职场佳话!

栗子如这篇沙雕作者!

除此之外,这里再跟大家推荐一本前不久火爆 GitHub 的 LeetCode 中文刷题手册:LeetCode Cookbook。

GitHub:https://github.com/halfrost/LeetCode-Go

作者雷神是前阿里资深后端工程师,连续1年,天天刷题,总结的这个笔记。对多个技术领域均有涉猎,同时也是多个开源项目作者,博客 300w+ 浏览的技术作者。目录如下:

这本小册里面共包含作者刷 LeetCode 后整理的 520 道题,每道题均附有详细题解过程。自发布以后,受到技术圈内广大开发者的赞赏,建议大家收藏阅读。

当然纯粹的只去刷LeetCode也很难进大厂,还需要为大家准备了一份2020年最新最全的面试题及答案,这套电子书涵盖了诸多后端,客户端,前端技术栈的面试题和答案,相信可以帮助大家在最短的时间内复习的大多数面试题,从而拿到自己心仪的offer。

目前上述内容已打包成完整电子书,具体获取方式如下:

  1. 扫描关注 GitHub中文社区公众号;

  2. 在 GitHub中文社区公众号后台回复关键词「刷题」获取下载地址。

反激电源反馈环路设计:从TL431+PC817原理到动态补偿实战 本文深入解析了反激电源中由TL431和PC817构成的经典反馈环路设计。从静态工作点计算到动态补偿实战,详细阐述了如何通过Type II补偿网络优化环路稳定性与动态响应,并分享了应对光耦CTR离散性、布局噪声等常见调试难题的实用技巧,帮助工程师设计出高性能、高可靠的开关电源。 阅读详情

相关推荐

Android应用之【巧妙隐藏桌面图标的进阶方案】

本文详细探讨了Android应用中隐藏桌面图标的进阶方案,解决了传统方法在Android 10及以上版本中出现的黑色图标残留问题。通过Intent-Filter配置和厂商适配技巧,实现子应用真正隐身,同时确保主应用正常启动。适用于企业工具套件、模块化系统等场景,提升用户体验和安全性。

weixin_28363123的博客 507

几行烂代码,我赔了16万。

你好呀,我是why。 前几天在某平台看到一个技术问题,很有意思啊。 涉及到的两个技术点,大家平时开发使用的也比较多,但是属于一个小细节,深挖下去,还是有点意思的。 来,先带你看一下问题是什么,同时给你解读一下这个问题: https://segmentfault.com/q/1010000040361592 首先,这位同学给出了一个代码片段: 他说他有一个 func 方法,这个方法里面干了两件事: 1.先查询数据库里面的商品库存。2.如果还有库存,那么对库存进行减一操作,模拟商品卖出。 对于第二件事,

qq_27243343的博客 1650

基于反相器的超声波发生和气泡检测电路

本文主要介绍了关于超声波的两种电路——基于反相器的振荡电路和基于逻辑们的气泡检测电路

xehagy的博客 1958

再启程,研发应用开发平台

今天不做纯技术的分享,而是说下个人的打算,也就是标题表明的:再启程,从头开始,研发一套应用开发平台,完全开源。 可以说,做开发平台,是我的梦想。近20年的职业生涯,先在软件公司从事软件系统的实施、系统的设计和产品的研发,后进入大型企业做信息化工作,做架构与设计,多年的技术积累与经验沉淀,对技术的执著,对业务的理解,有能力做一套优秀的开发平台出来了。

学海无涯,行者无疆 3457

【算法实战】Keystone变换:从原理到MATLAB实现的距离走动校正

本文深入解析Keystone变换在雷达信号处理中的距离走动校正应用,从原理到MATLAB实现全面讲解。通过三种实现方法(DFT+IFFT、Sinc插值、Chirp-Z变换)的对比分析,结合实战案例展示如何有效解决高速目标导致的距离单元跨越问题,提升多普勒频谱聚焦质量。

weixin_29055699的博客 295

单细胞拟时序分析实战:用monocle2从Seurat对象构建细胞轨迹(附完整代码)

本文提供了一套完整的单细胞拟时序分析实战教程,详细讲解了如何将Seurat对象转换为Monocle2的CellDataSet,并构建细胞命运轨迹。内容涵盖数据转换、轨迹定义基因选择、降维参数调优、可视化技巧及结果生物学验证,旨在帮助研究者解决实际分析中的常见问题,从静态细胞图谱中挖掘动态发育过程。

weixin_29251337的博客 342

芋道源码 yudao-cloud:构建全功能后台管理系统的技术探索

芋道,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。master分支为 JDK 8 + Spring Boot 2.7,分支为 JDK 17/21 + Spring Boot 3.2管理后台的电脑端:Vue3 提供 element-plus、vben(ant-design-vue) 两个版本,Vue2 提供 element-ui 版本管理后台的移动端:采用 uni-app 方案,一份代码多终端适配,同时支持 APP、小程序、H5!

chenchuang0128的博客 1万+

CTF 命令执行绕过总结

tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示。或:rce-xor-or.php & rce-xor-or.py。# ls -t >shell 将输出输入到shell文件中。异或:rce-xor.php & rce-xor.py。%09(url传递)(cat%09flag.php)sh /flag 2>%261 //报错出文件内容。2、1使用空变量$*和$@,$x,${x}绕过。7、异或无符号(过滤0-9a-zA-Z)more:一页一页的显示档案内容。

jnszstmei的博客 1959

开源 7 天,斩获 2.2 万 Star

点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天 10:33更新文章,每天掉亿点点头发...源码精品专栏原创 | Java 2021超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析消息中间件 RocketMQ 源码解析数据库中间件 Sharding-JDBC 和 MyCAT 源码解析作业调度中间件 E...

芋艿V 544

OpenHarmony之Histreamer引擎深度解析:pipeline_core架构如何全面取代GStreamer,一统音视频播放与录制

Histreamer是OpenHarmony多媒体框架的核心媒体引擎,采用架构设计。一个轻量级的媒体引擎组件,提供播放、录制等场景的媒体数据流水线处理。1.播放场景分为如下几个节点:数据源读取、解封装、解码、输出;2.录制场景分为如下几个节点:数据源读取、编码、封装、输出。该引擎从OH5.0开始取代了原有的媒体引擎gstreamer(部分文档还保留较老架构的讲解),提供统一的音视频播放、录制、元数据解析等能力。

m0_67505153的博客 332

在Centos上从零开始部署并运行TinyWebServer服务器,过程记录(非常详细)

TinyWebServer是个什么项目?它是Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器。使用线程池+非阻塞socket+epoll(ET和LT均实现) +事件处理(Reactor和模拟Proactor均实现) 的并发模型使用状态机解析HTTP请求报文,支持解析GET和POST请求访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件实现同步/异步日志系统,记录服务器运行状态。......

AnChenliang_1002的博客 3021

外包公司干了不到3个月,我离职了...

外包公司干了不到3个月,我离职了…当项目快要做完的时候,我就担心自己是不是要被“释放了”,直到外包HR,wx找我聊项目,我就不担心了,结果确实是要被“释放”。 从杭州到深圳,来的也突然,离职也有点突然,也是意料之中。本来想写“年终总结”,结果现在要“修改简历”,年前又要找工作了,试一试,实在找不到,只能提前“回家团聚”了,来年再干了! ps:图片都涉及到隐私,我全都马赛克处理了,此文不会去黑外包公司的,写文章只是表达我个人看法,心理感悟。 入职外包公司 说起来也挺搞笑的,我的工作是通过qq群找到了(ps

weixin_49527334的博客 3614

redhawk:STA timing data file解析

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?STA timing data file分为以下几个部分:• Header• Name Map• Footer这部分报告设计的基本信息,例如文件类型,设计名称,分隔符等。...

m0_61544122的博客 1155

​外包公司干了不到3个月,我离职了...(防坑指南)

外包公司干了不到3个月,我离职了......当项目快要做完的时候,我就担心自己是不是要被“释放了”,直到外包HR,wx找我聊项目,我就不担心了,结果确实是要被“释放”。 从杭州到深圳,来的也突然,离职也有点突然,也是意料之中。本来想写“年终总结”,结果现在要“修改简历”,年前又要找工作了,试一试,实在找不到,只能提前“回家团聚”了,来年再干了! ps:图片都涉及到隐私,我全都马赛克处理了,此文不会去黑外包公司的,写文章只是表达我个人看法,心理感悟。 入职外包公司 说起来也挺搞笑的,我的工作是通过qq

程序员生活志的博客 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

外包公司干了不到3个月,我离职了,Java开发者跳槽必备

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

fdsgdsgdfw的博客 1552

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

​外包公司干了不到3个月,我离职了...

点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐]作者:张林-布莱恩特来源:cnblogs.com/zhangmumu/p/12117400.html外包公司干了不到3个月,我...

全栈开发者社区 712

深度学习工具包 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&#39;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(&#39;DeepLearnToolbox&#39;));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(&#39;state&#39;,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&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,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 = &#39;sigm&#39;;%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, &#39;Too big error&#39;);```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(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;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)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;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, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% 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&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 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, &#39;Too big error&#39;);```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(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % 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, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);%% 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(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

外包公司干了不到 3 个月,我离职了...(防坑指南)

外包公司干了不到3个月,我离职了......当项目快要做完的时候,我就担心自己是不是要被“释放了”,直到外包HR,wx找我聊项目,我就不担心了,结果确实是要被“释放”。 从杭州到深圳,来的也突然,离职也有点突然,也是意料之中。本来想写“年终总结”,结果现在要“修改简历”,年前又要找工作了,试一试,实在找不到,只能提前“回家团聚”了,来年再干了! ps:图片都涉及到隐私,我全都马赛克处理了,此文不会去黑外包公司的,写文章只是表达我个人看法,心理感悟。 1. 入职外包公司 说起来也挺搞笑的,我的工作是通

勇往直前的专栏 2868

2019年还剩1天,我从外包公司离职了

这日子过的可真快啊,2019年还剩1天,外包公司干了不到3个月,我离职了

dotNet全栈开发 7万+
上一篇: 所有的编程语言知识,包含在这100张思维导图里了丨GitHub 13.1k星
下一篇: 阿里巴巴正式取消“P”序列职级显示,”我爸爸是P9,你爸爸才P7”,这种梗终于一去不复返了...
DevolperFront
博客等级 码龄8年 465粉丝 81原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值