ubuntu

  • tmux 真的好用:

  • 实用教程: https://wdxtub.com/2016/03/30/tmux-guide/

  • ctrl + b + [ : 可移动光标

  • C++ char 和 string 转换

  • SSH 挂载远程的 Linux 文件系统或者目录:

  • ubuntu 挂载的另一种方法:

    • 卸载之前的挂载:sudo umount nonv(挂载目录)
      
    • 挂载命令:sudo mount --bind /volume4/HDMP4/nonv_10.209.37.43_vol2/(要挂载的原地址) ./nonvehicle (需要挂载的目的地址)
  • ls -lR|grep “^-”| wc -l :快速统计某个文件夹下的所有文件的个数

  • ls -l|grep “^d”| wc -l : 统计某个文件夹下文件夹的个数

  • ps :查看进程使用情况

  • kill - 9 23365(进程号):杀死不需要的进程

  • htop: 查看显存使用情况

  • nvidia-smi: 查看 GPU 使用情况

  • watch -n 1 nvidia-smi : 每秒刷新一次 GPU 使用情况

  • [git 分支管理]
    (https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840038939c291467cc7c747b1810aab2fb8863508000): 维护代码版本神器

    • 重复修改保存一些文件比较很乱,git 管理起来就很方便 ^ _ ^
    • git add : 添加要更新的文件
    • git status : 查看仓库当前状态
    • git commit -m “本次推送描述,方便以后回退历史版本”
    • git log:查看历史推送
    • git reset --hard 937d5b: 回退到某个历史版本(版本号的前几位~唯一就行)
    • git reflog:查看命令历史(以便回到旧版本后再返回到未来的某个版本)
  • chmod u+x new_run.sh : 给 .sh 文件执行权限

  • 显示文件前10行:head -n 10 test.txt

  • 显示文件后10行: tail -n 10 test.txt

caffe-ssd

  • caffe-ssd 源:https://github.com/weiliu89/caffe/tree/ssd

  • 编译 caffe 遇到 cannot find -lbopenblas 解决方法:

  • 首先安装一些依赖包(安装时缺失什么依赖包就安装):

    libprotobuf-dev

    libsnappy-dev

    libleveldb-dev

    libhdf5-serial-dev

    protobuf-compiler

    libopenblas-dev


  • 安装编译 caffe-ssd 可能会遇到的错误解决方法:https://blog.csdn.net/WYK1823376647/article/details/81084262

opencv

  • opencv 安装编译实用教程:https://blog.csdn.net/neilooo/article/details/78425559
  • opencv 读取的图像格式是 BGR,Matplotlib 读取的图像格式是 RGB :
  • BGR to RGB : rgb = bgr[…,::-1]
    RGB to BGR : bgr = rgb[…,::-1]

python

  • numpy:

    • np.sum(): 求和(np.sum(a,axis = 1) 对行求和,axis = 0: 对列求和, np.amin,np.amax 同)

    • np.square():求平方

    • np.sqrt(): 求方差

    • np.amin():求最小值

    • np.amax():求最大值

    • np.exp(-x) : e^(-x)

    • np.unique(A): 对于一维数组或者列表,unique函数去除其中重复的元素,并按元素由大到小返回一个新的无元素重复的元组或者列表

    • np.loadtxt() : 可把 .txt 文档以 list 取出(可转换数据类型 np.loadtxt( , int))

    • np.savetxt(): 可把 list 直接存储为 .txt

os

  • os.path.exists(new_path) : 判断文件是否存在

  • os.makedirs(new_path) :创建新文件,会递归创建文件夹即使上一个文件不存在

random

  • random.uniform(x, y) 方法将随机生成一个实数,它在 [x,y] 范围内

其他

  • Python 离线安装 packges:

  • step1 打包: sudo pip install --download /home/deepglint/anaconda2/lib/python2.7/site-packages/ scikit-learn

  • step2 安装:pip install --no-index --find-links="/tmp/tranferred_packages" scikit-learn-0.19.2.tar.gz

  • sys.path.insert(): python 指定包路径

  • shutil.rmtree(): 删除文件夹

  • tqdm: 显示进度条

  • python 如果在函数里修改全局变量不会生效? 变量名前加上 global 关键字

  • python 实用小技巧

    • 下面附上实现代码
import cv2
import os
import numpy as np
import pandas as pd
import os
import matplotlib.pyplot as plt
%matplotlib inline
root_path = '/media/deepglint/Data/deep_sort/cluster/bbox_frames'
ips = [d for d in os.listdir(root_path) # os.listdir() 对文件进行迭代操作if os.path.isdir(os.path.join(root_path, d))
]
for ip in ips:new_id = -1all_feat = []print('Extract features from ip: {}'.format(ip))ip_dir_path = os.path.join(root_path, ip) #os.path.join() 路径拼接print(ip_dir_path)datas = [d for d in os.listdir(ip_dir_path)if os.path.isdir(os.path.join(ip_dir_path, d))]for data in datas:extract_path = os.path.join(os.path.join(os.path.join(ip_dir_path,data), \'extract_feat'),'feat4cross.txt')new_feat = []f_id = -1with open(extract_path, 'r') as f: # 'r' : 读for line in f.readlines(): # 按行读取new_feat.append(line.strip().split(' ')) # .strip() 去掉行末的空格、换行符等for i in new_feat:                               # .split(‘ ’) 以空格分隔读取内容if f_id != i[1]:new_id += 1f_id = i[1]i[1] = str(new_id)all_feat.append(i)with open(os.path.join(ip_dir_path,'all_feat.txt'), 'w') as f: # ‘w’: 写for i in all_feat:                                         # 'a': 追加f.write(' '.join(i)) # ' '.join(i) 把对象 i 里的元素以 空格(‘ ’: 可把空格替换为 ',' 等) 分隔f.write('\n')
import os
root = './nonv'
num = -1
line = []
files_path = './insightface.list'
for i in os.listdir(root):id_path = os.path.join(root, i)num += 1for img in os.listdir(id_path):img_path = os.path.join(id_path, img)line.append('\t'.join([str(1), img_path, str(num)]))with open(files_path, 'w') as f:for i in line:f.write(i)f.write('\n')

ubuntu python opencv 实用小技巧小结相关推荐

  1. python︱sklearn一些小技巧的记录(训练集划分/pipelline/交叉验证等)

    sklearn里面包含内容太多,所以一些实用小技巧还是挺好用的. sklearn.cross_validation 如果没有了,则需要使用 sklearn.model_selection 文章目录 1 ...

  2. 新手写论文实用小技巧Winedt/Latex

    Latex写论文实用小技巧 纪研究生第一篇论文 换行 文章中引用参考文件标号 引用公式 检查错误拼写 补充-公式内对齐 小结 纪研究生第一篇论文 为了记录研究生写完的第一篇论文截稿,其中有一些值得注意 ...

  3. Excel表格中一些你不知道的鼠标双击实用小技巧

    Excel表格中一些你不知道的鼠标双击实用小技巧 目录 Excel表格中一些你不知道的鼠标双击实用小技巧 1.鼠标双击自动填充整列公式, 鼠标放在单元格右下角,鼠标指针变成十字时双击鼠标右键,整列汇总 ...

  4. 送你16个matplotlib绘图实用小技巧(附代码)

    来源:雪山飞猪 本文约2800字,建议阅读10分钟 本文为你分享16个matplotlib绘图实用小技巧. 标签:数据分析 1. 添加标题-title import numpy as npimport ...

  5. Python的一些小技巧小知识

    Chapter 12. HOW-TO 本章内容记录Python的一些小技巧小知识.来源是网上摘录或自己学习所得. 如何判断操作系统类型 import sys print sys.platform pr ...

  6. 2021-01-20 Python编程特殊小技巧汇集

    Python编程特殊小技巧汇集 Python作为一种高级编辑语言,有很多使用的小技巧,分享一期. 1.变量值互换 a = 0b = 1a,b = b, a 2.连续赋值 a, b = 2, 1 3.自 ...

  7. VC的若干实用小技巧

    Visual C++6.0(5.0)开发工具功能非常强大,但是对于初学者来说,却有很多细节的问题需要注意.作者搜集整理了以下一些实用小技巧,希望对初学者有所帮助. 1:使用vc开发项目时,常会遇到这种 ...

  8. 实用小技巧(一):UIScrollView中上下左右滚动方向的判断

    https://www.jianshu.com/p/93e8459b6dae 2017.06.01 01:13* 字数 674 阅读 1201评论 0喜欢 1 2017.06.01 01:13* 字数 ...

  9. VC的若干实用小技巧 (如何干净的删除一个类)

    Visual C++6.0(5.0)开发工具功能非常强大,但是对于初学者来说,却有很多细节的问题需要注意.作者搜集整理了以下一些实用小技巧,希望对初学者有所帮助. 1:使用vc开发项目时,常会遇到这种 ...

最新文章

  1. R语言使用ggplot2同时可视化dataframe的多个数据列实战:多个数据列可视化在同一个图中、多个数据列可视化在多个图中(纵向多个子图)
  2. python编程基础语法-Python编程入门基础语法详解
  3. 菜鸟学习JavaScript小实验之函数引用
  4. 制作系统盘,重装新系统。
  5. Mac入门--Apache/Php/Mysql的开启关闭
  6. 用 RxSwift 实现通用的响应式转场
  7. Python更新数据库,解决转译字符与TypeError: XX format: a number is required, not str报错
  8. 深度探索ONNX模型部署
  9. ureport2报表详细使用(一)-集成及配置
  10. Ubuntu 18.04安装Eclipse教程
  11. 银联云闪付控件支付--python版本签名、验签代码
  12. html的外部调用函数,如何在HTML中调用外部JavaScript函数
  13. 中国大陆新身份证号码算法
  14. Linux的oracle账户解锁,如何解锁Oracle数据库中账号
  15. ci定位 lac_LAC、CI、小区、扇区、基站都是什么
  16. Google Guava简介
  17. CentOS 8上安装Docker
  18. blazeds与spring的结合使用
  19. intel parallel studio xe 2020 Update 4
  20. 计算机网络脆弱性评估方法研究

热门文章

  1. php类和对象教程,php类和对象
  2. 解析少儿编程中的运用的科技语言
  3. 电容笔和触控笔有什么区别?好用不贵主动电容笔推荐
  4. vue.js创建网站实例1
  5. 用单片机C语言开发雨滴智能屏小程序
  6. 2022年济南12行政区高新技术企业补贴政策及认定条件汇总
  7. 实现 3D 时间动画展示效果
  8. Nature子刊:AI技术从零开始设计具有生物活性的蛋白质
  9. Android扫车牌号识别技术SDK
  10. 固定资产管理mysql_固定资产管理系统数据库