主页

[paper] Generative Adversarial Nets

背景 传统生成网络使用马尔科夫链做生成网络。 效果 贡献 提供全新的网络模型,同时得到生成网络和鉴别网络。 网络 『对抗网络算法思路』 思路 构建2个网络,生成网络+鉴别网络,本文将其类比造假团队和鉴别警察。 开始时2者都比较弱,造假团队造出的赝品比较粗糙,鉴别警察鉴别假货的能力也比较差。 2个网络的关键在于,鉴别网络一开始必须要略强于生成网络。 开始时造假团队造的假货基本能被鉴别警察查出来。 后来,造假团队吸取经验(鉴别网络反馈生成网络哪些部分没做好),造假能力变强,鉴别警察变得无法看出假货。 鉴别警察也开始吸取经验(鉴别网络反馈真假品之间有哪些区别),鉴别假货的能力变强,假货也越来越多被鉴别出来。 重复上2步,造假团队(生成)和警察(鉴别)之间互相博...

阅读更多

[paper] Face Aging with Identity-Preserved Conditional Generative Adversarial Networks

背景 1.前人缺乏不同年龄段给定的人脸的训练样本。 2.传统做法,粗略的从原型基础上分类,基于原型方法年龄分组计算平均人脸。使用时对待不同年龄组的模式合成。结果导致每个人中特殊人群的信息丢失,一些合成的结果看起来不真实。 3.基于物理模型的方法。 4.RNN方法,相邻年龄组的面部合成更平滑,但身份信息没有明确的保持。 5.CGAN方法,没有效率,不同年龄的衰老几乎没有什么不同,由一定的效果,但看起来模糊。 效果 贡献 将CGAN应用到人脸衰老预测中。 重点是保证合成的人脸的人的身份是同一人,并迫使使其分类到目标年龄。 网络 IPCGAN组成 1.条件生成对抗网络。 2.身份保持模块。 3.年龄分类模块 将年龄分为5组,对...

阅读更多

[paper] ImageNet Classification with Deep Convolutional Neural Networks

背景 全连接的神经网络需要消耗大量计算资源。 全连接难以应用到较高分辨率的图片。 效果 贡献 在ImageNet子集上,训练了一个最大的卷积神经网络用于ILSVRC-2010和ILSVRC-2012比赛,获得最好成绩。 写了高优化的GPU实现2D卷积操作。 网络使用许多新的方法改善,并减少训练时间。 使用有效的技术防止过拟合。 网络 5层卷积 3层全连接 卷积后每层使用1层最大化池化层 每层使用ReLU(Rectified Linear Units)激活 LRU处理第1层(后来的论文证明无用) ps:这里的网络,是将训练拆分成2部分,在2个GPU上跑,在第3层又映射到一起,后又拆分。 思路 1.卷积,...

阅读更多

[ros] realsense

安装 安装ros: http://wiki.ros.org/melodic/Installation/Ubuntu 安装realsense sdk: https://github.com/jetsonhacks/installRealSenseSDK 处理ddynamic_reconfigure问题: sudo apt install ros-melodic-ddynamic-reconfigure 处理CMake Error cv_bridgeConfig.cmake:113问题: https://github.com/ros-perception/vision_opencv/issues/209 安装realsense-ros: https://github.com/Int...

阅读更多

[python 并行6] 分布式

简述 分布式计算的基本理念是将工作划分为一个一个小任务,分发给多台设备处理,再汇总结果。在分布式计算中,网络中的机器必须要保持可用(延迟误差、意外宕机等等),需要一个持续监控架构 分布式多进程 2 multiprocessing的子模块managers还支持把多进程分布在多台机器上,managers模块已经封装好了网络通信的细节 实现方法:我们可以使用managers模块将queue队列通过网络暴露出去,让其它机器访问到这个队列,然后就可以通过它实现数据交换 示例: 服务器通过暴露queue到网络,放入数据到队列,让客户端取出数据处理,再放回结果 服务器代码 # task_master.py import random, time, queue from multiproce...

阅读更多

[python 并行5] GPU

准备 需要有支持CUDA的Nvidia显卡 linux查看显卡信息:lspci | grep -i vga 使用nvidia显卡可以这样查看:lspci | grep -i nvidia 上一个命令可以得到类似”03.00.0“的显卡代号,查看详细信息:lspic -v -s 03.00.0 查看显卡使用情况(nvidia专用):nvidia-smi 持续周期性输出使用情况(1秒1次):watch -n 1 nvidia-smi 需要安装pycuda(linux安装:apt install python3-pycuda) 基本使用 1.底层操作 准备工作: sudo apt install python3-pycuda ...

阅读更多

[python 并行4] 异步

介绍 2 除了线性、并行执行模式外,还有异步模式,它与事件编程一样,十分重要 在并发的异步模式中,不同的任务在时间线上是相互交错的,而且一切都是在单一控制流(单线程)下进行的 1.asyncio (过时) 基本使用 1.1 使用asyncio实现事件循环管理 什么是事件循环? 在计算系统中,能够产生事件的实体被称为事件源(event source),而负责协商管理事件的实体被称为事件处理器(event handler) 它实现了管理计算代码中所有事件的功能:在程序执行期间事件循环不断周期反复,追踪某个数据内部发生的事件,将其纳入队列,如果主线程空闲则调用事件处理器一个一个地处理这些事件 注:事件循环不能使用@asyncio.coroutine标为协程 示例1: 延迟3秒后执行 ...

阅读更多

[python 并行3] 进程

基本使用 1 #coding=utf-8 import multiprocessing import os # 获取pid用 import time # 延时用 # 子进程要执行的函数 def child_proc(name): print(f'child process {name} pid: {os.getpid()}') time.sleep(3) print(f'{name} finish') # 主进程,必须在主模块中执行 if __name__ == '__main__': print(f'parent process {os.getpid()} is running') # 生成子进程 p1 = multiprocessing.Process(ta...

阅读更多