行为识别学习笔记-第一课(基础知识)

报了七月在线的行为识别班级,记录一下学习的笔记。
——————————————————————————————————————————
行为识别的定义:
Human Action Recognition ( HAR ) aims to automatically examine and recognize the nature of an action from unknown video sequences.
人类行为识别的目标是是从一个未知的视频序列中,自动检测和识别出自然行为的工作。
行为识别的流程:
行为识别的流程分为四大步:目标识别、目标检测、人体姿态估计和人体行为识别。
行为识别系统通用的布局
A feature extraction mechanism computes numeric or symbolic information from images or video frames.
Then, labels are accordingly affected to these extracted features by a classifier.
都是从图片或者视频中提取出数字或符号特征,再利用分类器对特征进行分类。
行为识别方法的分类:
行为识别的分类包括外观、深度信息、光流法和骨架信息。相比与其他几种方法,骨架信息包含的信息最多。
人体姿态估计:
Human Pose Estimation (HPE) is defined as the problem of localization of human joints (also known as keypoints - elbows, wrists, etc) in images or videos.
人体姿态估计的定义是,从视频或者图像中,定位出人体的关键点。
行为识别常用的数据集:
以下是行为识别常用的数据集,其中MSCOCO是用的最多的数据集。
Ubuntu下研发环境搭建的方法:
安装包(apt-get):
$ sudo apt-get install <package_name>   #安装一个包
$ sudo apt-get install <package_1> <package_2> <package_3>  #安装多个包
$ sudo apt-get install <package_name> --only-upgrade  #仅仅是更新包
$ sudo apt-get install <package_name>=<version_number>  #安装一个指定版本的包
卸载包(apt-get):
$ sudo apt-get remove <package_name> #卸载一个包,保留其配置文件,下次重新安装后还原
$ sudo apt-get purge <package_name> #卸载一个包,不保留其配置文件
$ sudo apt-get clean #以下三个命令没区别,都是自动清除卸载残留
$ sudo apt-get autoclean
$ sudo apt-get autoremove
安装包(.deb):
$ sudo dpkg install *.deb PATH: *.deb #用命令行的方式
Double Click your mouse to click #图形界面方式,双击
查看已安装的包:
$ sudo dpkg –-list
卸载包(.deb):#两种方法一模一样
$ sudo dpkg --remove <package_name>
$ sudo dpkg --r <package_name>
推荐的IDE:
spyder,界面与MATLAB相似。
安装方式:
sudo apt-get install spyder3
Python包安装方法:
用到的工具是pip
安装pip的命令为: sudo apt install python3-pip
安装Python包的方法:
$ pip3 install SomePackage # latest version
$ pip3 install SomePackage==1.0.4 # specific version
$ pip3 install 'SomePackage>=1.0.4' # minimum version
卸载python包的方法:
$ pip3 uninstall SomePackage
pip的一些其他用法:
罗列已安装的包:
$ pip3 list
docutils (0.9.1)
Jinja2 (2.6)
Pygments (1.5)
Sphinx (1.1.2)
展示一个包的细节信息:
$ pip3 show sphinx
---
Name: Sphinx
Version: 1.1.3
Location: /my/env/lib/pythonx.x/site-packages
Requires: Pygments, Jinja2, docutils
常用的深度学习框架:
其中pytorch和TensorFlow用的最多,平分秋色。Pytorch学术界多一些,TensorFlow工业界多一些,Keras是TensorFlow的高级封装,开发方便但灵活性较差,很难自己拓展。
Pytorch的安装方法:
在官网上选择自己的操作系统、开发语言、Cuda版本号、安装方式等,官网自动给出安装的命令。
GPU版本CUDA的安装方法
1.显卡驱动安装
# Add graphics drivers to your source list:
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
$ sudo apt upgrade
# Check what driver will be installed:
$ ubuntu-drivers devices
# Auto install the latest driver:
$ sudo ubuntu-drivers autoinstall
# Then reboot your machine:
$ sudo reboot
通过如下命令可以查看显卡信息
$ nvidia-smi
2.CUDA安装
CUDA是NVIDIA显卡的通用并行加速库,在NVIDIA官网上选在操作系统、CPU型号、系统版本号、CUDA版本号,官网自动给出下载链接。
3.cuDNN安装
cuDNN是CUDA下专门用于加速神经网络的库,其安装方法是在官网上下载与已安装CUDA版本相匹配的cuDNN,并解压缩复制到CUDA对应的安装目录中。
Pytorch的特点。
1.tensor和numpy可以很方便的转换,而且很多用法都是相同的。
2.tensor和variable的区别,variable在tensor的基础上, 增加了计算梯度的方法。
3.设计网络结构有两种方法,一种是继承torch.nn.Module,并实现__init__和forward函数;一种是直接在torch.nn.Sequential中实现自己的网络结构。
4.保持训练好的网络,有两种方式:
    torch.save(net1, 'net.pkl')  # 保存整个网络
    torch.save(net1.state_dict(), 'net_params.pkl')   # 只保存网络中的参数 (速度快, 占内存少)
5.加载已经训练好的网络,对应也有两种方法
    net2 = torch.load('net.pkl') #保存整个网络的这样加载
    prediction = net2(x)
#仅保存参数的这样加载
def restore_params():
    # 新建 net3
    net3 = torch.nn.Sequential(
        torch.nn.Linear(1, 10),
        torch.nn.ReLU(),
        torch.nn.Linear(10, 1)
    )
    # 将保存的参数复制到 net3
    net3.load_state_dict(torch.load('net_params.pkl'))
    prediction = net3(x)
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pzb19841116

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值