2019年8月23日 下午2:40
GitHub - onnx/onnx-tensorflow: Tensorflow Backend and Frontend for ONNXonnx-tf convert -i onnx_test.onnx -o output.pb
深度学习模型转换
目录(DP转换)
2019年8月23日 下午2:38
成功的:
- Mac安装caffe
- onnx 转 tensorflow :指令
- onnx 转 caffe2 : 代码
- pytorch 转 onnx :代码
- pytorch 转 caffe :代码,错误
没成功:
目录(图像视频理解)
2019年8月7日 下午9:19
- 这里的ppt思路的框架讲的挺清楚的
- 思路框架:
- ::自上而下,自下而上::
- 他们的共同点:都将问题进行了转化数学问题,从数学上求解
- ::自上而下,自下而上::
- 思路框架:
- 看似比较生疏的几个重要知识点
- 蒙特卡洛模拟核心思路
- 动态系统是什么?=递归贝叶斯估计问题?
- 但是具体知识不太清楚,还需要具体的看代码去学习
- ::必须要看代码,否则你都不知道知识怎么用的,知识点不能解决问题,必须要学会怎样利用知识::
- Lucas–Kanade光流算法就是一个很好的例子
- ppt中还有好多讨论点,问题我不会,以后记得看
2019年4月25日 上午11:33
基于MeanShift的目标跟踪算法及实现
非参数估计之Parzen窗估计
超定方程组最优解(最小二乘解)
Lucas–Kanade光流算法
Lucas–Kanade光流算法
2019年8月7日 下午5:46
- 光流法 - 维基百科,自由的百科全书
- 《视觉SLAM14讲》
- p185~186:讲解的很完整
- P190:最上面一行代码,光流函数的输入
(last_color, color, pre_keypoints,next_keypoints)
2019年4月24日 下午8:00
【算法分析】Lucas–Kanade光流算法 - gnuhpc - 博客园
- 从三维的角度去推导光流法
- Lucas-Kanade算法
- 是一个非迭代的算法
- 我理解其实就是利用最小二乘法解决超定问题
- 超定方程组最优解(最小二乘解)
git reset
2019年7月29日 上午11:17
理解方法:
- 理解扔掉:add 和commit我回过头去看,有些可能是多余的,我直接扔掉,对我现在的代码没有任何影响
- 回退覆盖:我扔掉add和commit的时候,用不用把我的本地文件给覆盖了。
- 当我们发现,这几天的工作完全错误,以后绝对没用的时候,我们才会覆盖。
- 只有-hard会覆盖,-mix -soft 就看你是扔add还是commit了
git reset 三种用法总结 - alphapersonality的博客 - CSDN博客
- git reset (–mixed) HEAD~1
- 回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也不受影响)
- ::扔掉add和commit的内容::
- git reset –soft HEAD~1
- 回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)
- ::只扔掉commit()的内容,不影响add(暂存区)::
- git reset –hard HEAD~1
- 回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换
- ::扔掉add和commit的内容:: + 本地的文件也将被恢复的版本替换
- git reset (–mixed) + 本地的文件也将被恢复的版本替换
git reset file(README.md):撤销对暂存区的修改


git reset —soft
git reset —mixed



- 只要我们commit之后,commit的文件是一定不会丢失的。
- mixed和soft的区别:仅仅在于soft暂存区是否会保存这次提交之后的所有变更
git reset —hard


- 这个会覆盖工作区的文件,慎用。否则新敲如的代码就丢了!!
git reset file(README.md)


- 这说明暂存区的东西一旦撤销就丢失了。
冲突的解决(本地和线上两种情况)
2019年7月29日 上午10:57
如何解决协作冲突:两个人处理同一个文件,第二个人push的时候出错。
- 涉及到pull 和 push
- ::理解:为什么pull操作之后,即使发生冲突,文件已经下载到了本地文件中::
- pull操作针对的是本地仓库中的代码,而不是本地项目文件夹。
- 如果,我们进行pull的时候发生了conflict,也就是本地仓库中的代码和远程仓库有冲突,此时本地仓库中的代码会有pull下来的代码添加到本地项目文件夹中。
- 也就是说,如果我们在commit之后还对本地项目文件夹中有所更改,很有可能会导致代码丢失。
- 解决方法:commit -> pull(有差异的文件)这两步一定要连续操作
Git Pull Failed: CONFLICT (content): Merge conflict in camus-aggregator/camus-admin-web/src/main/web - CSDN博客/CD4C9F52-DB74-4A18-BA09-487D816BDFB4.png)
- 如果,我们进行pull的时候发生了conflict,也就是本地仓库中的代码和远程仓库有冲突,此时本地仓库中的代码会有pull下来的代码添加到本地项目文件夹中。
- pull操作针对的是本地仓库中的代码,而不是本地项目文件夹。
解决本地情况下的冲突:自己的两个分支处理了同一个文件并commit,两个分支merge的时候发生
- 没有涉及到pull 和 push
- 进行
git merge dev操作之后,进行的commit操作有了双重意义:- 从本地项目文件夹->本地仓库
- ::标志merge操作中的冲突已经解决好了::由于这层意义的存在,所以这时的commit要更加的谨慎
廖雪峰 解决本地情况下的冲突/03777276-AB75-47C2-9942-872BEE4BC294.png)
这里的关键是:我一旦git merge 即使冲突了也同样会merge,这时需要我们马上git status 找出冲突的文件,手动解决问题。/1DB269FB-125D-4E8C-84B0-3C58E0EFD4E4.png)
/4396987A-D143-45A2-B2A8-453F5952FD44.png)
/451987CE-4D2E-4CDE-88AB-C42BDA977526.png)
注:git log --graph --pretty=oneline --abbrev-commit
混合编程原理 + darknet + yolo3
2019年7月26日 下午7:38
混合编程原理:
- python和C语言互相调用的几种方式 - jack_Meng - 博客园
- c调用python
- 共享库
- Python调用c
- subprocess:C语言设计一个完整的可执行文件,然后python通过subprocess来执行该可执行文件,本质上是fork+execve。
- C语言中运行python程序:C语言使用popen/system或者直接以系统调用级fork+exec来运行python程序也是一种混编的手段了
- python对C语言扩展的支持
- c调用python
- python调用.so - fariver - 博客园
混合编程应用:
注:yolo3的整个网络结构模型就是用c写的,python部分里是使用python对模型的调用方法,而不是模型本身。
GPU服务器使用
使用Yolo3在GPU上训练自己打标签的数据
2019年7月26日 下午5:59
项目文件夹
参考资料:
- YOLOv3 训练自己的数据(附优化与问题总结) - lumingha的博客 - CSDN博客
- 从环境搭建、模型的使用、使用自己的训练数据训练、模型效果验证都做出了非常明确的操作说明::对以后其他模型的是有也有很强的借鉴意义::
- 这里面最关键是:使用自己的训练数据训练
- YOLO3训练自己数据(超详细步骤) - lixiaoyu101的博客 - CSDN博客
- :—7—解决报错:/bin/sh: 1: nvcc: not found make: *** obj/convolutional_kernels.o Error 127 - 招财大龙猫 - 博客园
NVCC = /usr/local/cuda/bin/nvcc
- error “Base.hpp” header must be compiled as C++ - yunhuaikong的专栏 - CSDN博客
服务器训练指令:
- 使用预训练参数开始训练:
./darknet detector train ../data_own/cfg/rock.data ../data_own/cfg/rock.cfg darknet53.conv.74
- 终止训练,权重会保存在backup文件夹下。如果要从检查点停止并重新启动训练
./darknet detector train ../data_own/cfg/rock.data ../data_own/cfg/rock.cfg backup/rock.backup -gpus 0,1
本地运行的指令:
./darknet detector test ../data_own/cfg/rock.data ../data_own/cfg/rock.cfg ./backup/rock_900.weights ../data_own/data/images/228.jpg- 最后结果会保存在predictions.jpg
./backup/rock_900.weights::就是我们从服务器拉回来的训练好的模型::
- 批量运行:
/darknet detector test ../data_own/cfg/rock.data ../data_own/cfg/rock.cfg ./backup/rock_900.weights
![]()




