- 博客(60)
- 收藏
- 关注
原创 pytorch借助tensorboard实现模型可视化
补充 : 刚发现貌似sqrt操作是不支持的python库:pytorch(>=0.3) , onnx, tensorboardX原理: Open Neural Network Exchange (ONNX)是开放生态系统的第一步,它使人工智能开发人员可以在项目的发展过程中选择合适的工具;ONNX为AI models提供了一种开源格式。它定义了一个可以扩展的计算图模型,同时...
2018-06-24 14:50:26 7359 6
原创 Android ndk环境中 C++ 在多线程中调用java的回调函数
在 c++中开启了异步的线程之后,如果通过 FindClass 和 GetStaicMethodID 去获取方法的id然后进行调用的话会抛出异常。为了能在另外的线程中调用Java的方法,需要在 .so 被加载时在 JNI_OnLoad 中提前保存 JavaVM 的地址到全局变量中,并且提前解析类和方法的id也都保存到全局变量中,等到异步线程开启之后,根据全局变量中存储的类和方法的id进行调用。...
2021-09-14 17:05:40 907
原创 C++ 跨平台生成动态链接库
编写动态链接库给别人用的时候,在Mac ,Linux 以及 windows 上的处理策略是不同的。其实就是 gcc(clang) 与 vs 的差别。一般大家都会用一段宏定义来解决这种跨平台的问题。废话不多说,直接上代码:#ifndef CROSS_PLATFORM_LIBRARY_EXAMPLE_LIBRARY_H#define CROSS_PLATFORM_LIBRARY_EXAMPLE_LIBRARY_H#ifdef _MSC_VER //用于判断是否是 vs 平台 #define
2020-11-06 17:32:58 2303
原创 C++17获取目录下所有的图像文件路径
C++17支持了更多的文件操作,这些更加方便了,今天尝试了一下递归读取一个目录下所有的图像文件的操作。直接上代码:#include<iostream>#include<vector>#include<filesystem>using namespace std;using namespace std::filesystem;// 检查一个路径是否是目录bool checkIsDir(const string &dir) { if (!
2020-09-22 15:41:43 1092
原创 查找数组中第一个大于/大于等于的元素下标
这个问题应该肯定使用二分查找,时间复杂度是O(logn)。比较麻烦的一点在于如何当前这个数是不是第一个大于等于这个数的下标,需要我们用 res 来存放最近的满足条件的那个数,这样left或者right变化就不怕了。也可以直接借助标准库中的 lower_bound 和 upper_bound() ,详细见https://blog.csdn.net/qq_40160605/article/detail...
2019-08-20 20:59:52 6527 1
原创 Leetcode每日一刷--矩阵置零
题目描述如下:给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例 1:输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: [ [1,0,1], [0,0,0], [1,0,1]]这个题目要求使用原地算法,尽量使用O(1) 空间。这个题目的难点是前面的元素为0导致后面的元...
2019-01-06 18:14:35 434 2
原创 leetcode每日一刷--跳跃游戏
题目描述: 给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引...
2019-01-05 19:06:39 206
原创 Leetcode每日一道--三数之和
题目描述:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。基本思路 :最简单的思路就是使用 三层循环,但是时间会超。我的想法是先对nums做一个排序,接着第一个元素从[ 0 , length-2 ] 寻找,第二个元素和第三个元素利用双指针方法找,这样做复杂度就可以达到...
2018-12-18 22:52:54 359
原创 python opencv读取海康威视摄像头并进行人脸检测-rtsp协议
import cv2import numpy as npurl="rtsp://admin:111111@xx.xx.xx.xx/Streaming/Channels/1"cap=cv2.VideoCapture(url)cascade = cv2.CascadeClassifier("./haarcascade_frontalface_alt.xml")while True: ...
2018-12-07 15:14:27 13098 13
原创 Leetcode每日一道 -- 整数反转
今天有点儿偷懒,选择刷了最简单的一个入门题。直接上代码class Solution {public: int reverse(int x) { long long res=0; while(x!=0) { res=res * 10 + x % 10 ; x /= 10; ...
2018-11-28 23:07:21 172
原创 Leetcode每日一道 -- 无重复字符的最长子串
题目链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/description/题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为...
2018-11-23 23:23:50 214
原创 Leetcode每日一道 -- 两数相加
题目链接: https://leetcode-cn.com/problems/add-two-numbers/description/题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数...
2018-11-22 13:12:20 253
原创 Leetcode每日一道 -- 两数之和
题目链接: https://leetcode-cn.com/problems/two-sum/description/题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], targe...
2018-11-21 23:52:08 198
原创 使用神经网络拟合argmax函数
最近比较闲,听说神经网络可以拟合任意函数,因此尝试使用神经网络拟合argmax函数。我使用的是pytorch,就是堆叠多层感知机来拟合一个argmax函数。为了防止不收敛,我的输入是一个 20维的向量,要求输出的值是 0~1 范围之内的,0表示第0个数是最大的,1表示第19个数是最大的,0.4表示第15个数是最大的,可以用 int(输出*20) 转回下标。代码如下:import tor...
2018-11-14 22:43:27 5203 3
原创 让python类直接被调用
之前在pytorch和keras中经常发现一个类model被直接调用,发现很有意思。于是就去看了看pytorch中nn.Module的源码,发现是定义了__call__(self)函数再去调用forward()函数。举个例子如下: import mathclass Pow(object): def __init__(self,n=2): self.n=n super(Pow,se...
2018-10-16 12:36:52 5934 2
原创 pytorch显存越来越多的一个潜在原因-- 这个函数还没有在torch.cuda.Tensor中定义
最近在用pytorch跑实验,有如下操作需要用到: (pytorch版本为0.3.1)class SpatialFilter(nn.Module): def __init__(self,mode=True,sf_rate=0.8): ''' 给定特征图求hot_map ''' super(SpatialFilter,se...
2018-08-30 11:58:27 9912 1
原创 keras实现densenet和Xception的模型融合
我正在参加天池上的一个竞赛,刚开始用的是DenseNet121但是效果没有达到预期,因此开始尝试使用模型融合,将Desenet和Xception融合起来共同提取特征。代码如下:def Multimodel(cnn_weights_path=None,all_weights_path=None,class_num=5,cnn_no_vary=False): ''' 获取densent121,xi...
2018-04-05 20:54:08 9296 28
原创 快速排序算法
今天终于搞懂了快速排序算法,纪念一下#include<stdio.h>void swap(int * num,int i,int j){ int temp=num[i]; num[j]=num[i]; num[i]=temp;}int qsort(int *num,int left,int right){ /*取第一个数作为基准,将第一个数交换位置,直到左边的...
2018-03-06 19:59:59 170
原创 cookie模拟登录
我这里使用的是python中的requests.get(url,headers,cookies).其中headers和cookies都是字典形式。headers作用是模拟浏览器,告诉服务器我不是爬虫。cookies作用是模拟用户,告诉服务器我不是机器人,我是某某用户。以知乎为例,headers可以用模板:headers = {'Host': 'www.zhihu.com','User-Agent'...
2018-03-01 16:46:25 5749
原创 深度学习论文roadmap
想进入这个领域,阅读论文是必不可少的,在这里给大家推荐一个系统下载论文的方法。到GitHub上https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap下载这个工程运行下载程序即可。这个是python2版本的,我已经改成了python3版本,在GitHub上的地址为:https://github.com/woshildh/do
2017-12-03 14:38:46 1088
转载 TensorFlow四种Cross Entropy算法实现和应用
作者:陈迪豪 来源:CSDN交叉熵介绍交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小,常见的Loss函数就是均方平方差(Mean Squared Error),定义如下。平方差很好理解,预测值与真实值直接相减,为了避免得到负数取绝对值或者平方,再做平均就是均方平方差。注意这里预测值需要经过sigmoi
2017-11-28 14:42:34 310
转载 python装饰器
转载自:http://python.jobbole.com/82344/装饰模式有很多经典的使用场景,例如插入日志、性能测试、事务处理等等,有了装饰器,就可以提取大量函数中与本身功能无关的类似代码,从而达到代码重用的目的。下面就一步步看看Python中的装饰器。一个简单的需求现在有一个简单的函数”myfunc”,想通过代码得到这个函数的大概执行时间。我们可以直接把计时逻辑方法”my
2017-11-27 22:20:09 201
转载 转载大神的对雅可比矩阵和海森矩阵的讲解
Jacobian矩阵和Hessian矩阵原地址:http://jacoxu.com/jacobian%e7%9f%a9%e9%98%b5%e5%92%8chessian%e7%9f%a9%e9%98%b5/ 转载自 jacoxu的博客 1. Jacobian在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式. 还有, 在代数几何中, 代数曲
2017-11-26 22:56:04 16719
原创 python中namedtuple使用
在python中tuple是一种元组类型,namedtuple类似于C中的结构体,可以自己定义一个结构体。#引入namedtuplefrom collections import namedtuple定义namedtuple#定义“结构体”stu_info=namedtuple("student",["name","age","sex"])#初始化结构体,注意用stu_
2017-11-24 11:32:19 847
原创 python assert
python使用assert可以帮助更好的调试。assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式如下:assert expression [, arguments]例如,你要用到某个列表的内容,当它为空时很明显会报错,因此用assert会很有用。assert len(l)<=0,出错了,l的长度小于1"
2017-11-21 15:06:37 331
转载 python访问csv文件
import csv # 读取csv文件方式1csvFile = open("csvData.csv", "r")reader = csv.reader(csvFile) # 返回的是迭代类型data = []for item in reader: print(item) data.append(item) print(data)csvFile.close()
2017-11-08 15:09:31 913
原创 输入n输出1/3+3/5+5/7+······+n/(n+2)的分数形式(n<40)
#include "stdafx.h"#include#include#includeusing namespace std;int main(){ long long fenzi, fenmu; int n,start; while (scanf("%d", &n)!=EOF) { time_t begin=clock(); fenmu = 3; fenzi = 1;
2017-11-05 10:05:17 1632
转载 opencv3实现简单的数字图像识别(KNN)
正在用opencv3做一个数字图像识别的小项目,要用到KNN,但是不熟悉它的接口,因此,借鉴了大佬的博客,基本照搬了代码,代码如下:大佬的链接如下:http://www.cnblogs.com/denny402/p/5033898.html// knnrecognizenum.cpp:使用knn识别手写数字//#include "stdafx.h"#include#include
2017-11-02 22:21:54 9223 6
原创 c++对文件进行操作之创建特定的文件结构
首先,介绍如何知道一个文件是否存在。//该函数可以判断某个文件或者文件夹相应的模式是否成立,如果成立则返回0,否则返回-1#includeint _access(const char *path,int mode);mode可以取值为0(该文件是否存在)、2(该文件是否可读)、4(该文件是否可写)、6(该文件是否可读写)接着创建或者删除文件或者文件夹:#includeint
2017-11-01 18:20:42 310
原创 c++对文件进行操作之读取文件夹下面的图片名称
正在做一个简单的手写数字识别的东西,需要进行预处理,划分训练集和数据集,发现用c++操作文件完全不会,都是泪,加油建议先看一下这篇文章对 struct _finddata_t的介绍,这是链接:http://blog.csdn.net/wzhwho/article/details/6372353#include#includeusing namespace std;const cha
2017-10-31 16:09:46 5982 6
转载 修改windows控制台的编码格式为utf-8
我今天写的c++代码里有汉字结果运行显示了错误,发现是utf-8在控制台窗口显示错误造成的。因此我决定修改控制台的默认编码在搜索框中输入regedit-->打开注册表-->点击 HKEY_CURRENT_USER-->点击 Console-->点击 HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe--&...
2017-10-30 16:04:53 3313
转载 17. Letter Combinations of a Phone Number
这个题目的难点主要在循环这部分,感觉temp省了不少事。另外:strs.swap(temp)也是头一次知道这个用法。不过O(n3)居然这次么有超时,很神奇class Solution {public: vector letterCombinations(string digits) { vector strs; if(digits.size()==0)
2017-10-28 12:43:54 150
转载 ubuntu安装Python时遇到如下问题,解决方案
~$ sudo apt-get install python-pip正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 python-pip 已经是最新的版本了。升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 233 个软件包未被升级。有 8 个软件包没有被完全安装或卸载。解压缩后会消耗掉 0 B 的
2017-10-27 21:32:04 3872
原创 求解一元二次方程、float与0比较大小
昨天帮同学看题,发现了知识上的一个重大缺漏,原来float和double是不能和0直接比较大小的,长知识了。/*输入一元二次方程的a,b,c求根*/#include#includeusing namespace std;const float EPSION=0.000001; //定义最小的floatint main(){ float a,b,c; float delta,sh
2017-10-27 13:24:34 594
转载 16. 3Sum Closest
这个题目确实不知道这种解法,看来以后遇到问题得多思考这种 指针挪动 的方法了,加油class Solution {public: int threeSumClosest(vector& nums, int target) { int length=nums.size(),res=nums[0]+nums[1]+nums[2]; sort(nums.b
2017-10-27 12:48:58 126
原创 leetcode 14. Longest Common Prefix
这么简单的一个题目居然总是出错,看来功力太浅了class Solution { public: string longestCommonPrefix(vector& strs) { string prefix=""; int i=0; if(strs.size()==1) return strs[0]; while(strs.size()>0) //防止空的字符串数组 { for(int
2017-10-26 16:46:07 134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人