7 踏莎行hyx

尚未进行身份认证

我要认证

疏影横斜水清浅,暗香浮动月黄昏。

等级
TA的排名 2k+

C++获取对应进程的cpu和内存使用情况(支持linux和windows)

运维监控程序中经常需要根据一个进程号pid去监控实时的cpu和内存占用,以下整理了一个C++实现的简单例子,并封装为方便跨平台调用的函数代码#include <iostream>#include <thread>#include <chrono>#include <string.h>#ifdef WIN32#include <windows.h> #include <psapi.h> //#include &lt

2020-10-19 17:58:27

C++11写的一个简洁的单例类型模版包装器

单例是经常用到的设计模式实践,对于全局使用的唯一资源事例一般都把类型封装成单例,但是有时候觉得对于每个class都要改造一遍单例会觉得比较繁琐,尤其是在预先不知道哪些类型会使用为单例的时候。为了应对这种情况,又一个讨巧的办法是写一个单例模版类包装器,当遇到某些class类型要当作单例使用的时候就用该模版包装一下。模版类singleton.hpp#pragma once// support C++11 and above versiontemplate<typename T>cla

2020-08-29 20:44:59

pytorch使用matplotlib和tensorboard实现模型和训练的可视化

pytorch构建和训练深度学习模型的过程中,往往需要能够直观的观测到可视化的过程,比如画出训练曲线等。对于简单的曲线绘制可以使用matplotlib库做出基本的图,如果需要更加高级的可视化过程,pytorch有好几个工具都可以做到,比如tensorwatch,visdom,tensorboard,实测下来发现tensorboard用起来比较方便和成熟稳定。(pytorch自从1.2版本依赖就正式支持了独立的tensorboard,不再需要去安装tensorboardX了)本文通过简单线性模型训

2020-07-13 16:41:48

pytorch基于RNN实现文本情感分析并用C++加载模型预测

文本情感分析是机器学习自然语言处理NLP中常见的应用场景,给定一段文本,识别其中的情绪或态度,对其进行分类并标签化。这个手段可以应用于书籍电影评价、用户对产品满意度调查、人机对话感情色彩提取和金融研报分析。本文以美国IMDB电影网站的评论数据为例,用pytorch构建和训练基于循环神经网络LSTM的模型,然后用C++ libtorch加载模型对于给定的电影评论文本进行预测,判断改评论是正面的还是负面的,代码和数据实例参考了动手学机器学习pytorch版环境开发工具windows7/ubunt

2020-07-08 17:41:49

C++获取机器启动至今的时长和机器启动的时间戳

根据当前时间戳与机器启动至今的时间长度相减,可以精确计算出机器启动时刻的时间戳epochtime#include <iostream>#include <stdio.h>#include <time.h>#include <chrono>int main() { clock_gettime(CLOCK_REALTIME, &t...

2020-04-22 10:41:49

python脚本编程:实时监控日志文件

用python可以很小巧轻便的实时监控日志文件增量刷新,根据某些关键字进行匹配,方便做运维异常告警代码import timeimport re# specify log file pathlog_path = "my.log"# open file and monitor newst linenumber = 0position = 0with open(log_path,...

2020-03-16 17:07:18

python脚本编程:监控指定进程的cpu和内存使用率

为了测试某个服务的稳定性,通常需要在服务长时间运行的情况下,监控其资源消耗情况,比如cpu和内存使用这里借助python的psutil这个包可以很方便的监控指定进程号(PID)的cpu和内存使用情况代码process_monitor.pyimport sysimport timeimport psutil# get pid from argsif len(sys.argv) &l...

2019-10-22 18:05:30

数值分析C++:统计(均值/方差/偏度/峰度),积分,微分,蒙特卡罗

用C++实现几个简单的数值分析计算,以便深入理解计算机在求解代数问题的过程原理以下主要针对普通实数,以及一元代数统计算数平均值几何平均值方差偏度峰度积分求解定积分的一般数学描述式但是由于原函数一般比较难求,用计算机处理起来可以用离散数值方法来计算近似trapzoid方法simpson方法其他还有两种分别是co...

2019-10-21 15:29:37

cocos2dx实例开发之经典坦克

小时候红白机上玩的的经典90坦克,看起来简单,做起来其实有点复杂,这里用原版素材还原了一个简版预览工程结构游戏架构包括场景:欢迎界面,主菜单游戏场景步骤菜单场景对于图片,音乐,动画提前做缓存,提高后面使用效率// 预加载资源(暂且使用同步模式)SpriteFrameCache::getInstance()->addSpriteFramesWithFile("i...

2019-09-28 18:39:45

cocos2dx实例开发之飞机大战

曾经,微信里面可以玩一个打飞机的小游戏,很有趣,后来又没有了,这里基于原版素材写了一个高仿微信打飞机的小游戏预览工程结构环境Mac os Mojavexcode 7.0cocos2dx 3.17代码目录游戏架构主要包括以下场景主菜单游戏(天空、玩家、敌机、子弹、道具)步骤菜单场景游戏主菜单界面,进入游戏的入口界面bool MainMenuScene::i...

2019-08-10 12:30:25

优雅地用C++发邮件

这里是一个基于curl库写的C++发邮件的轮子,随取随用支持收件人、抄送人、富文本、附件代码https://github.com/tashaxing/cpp_email目录结构cpp_email└── deps └── curl└── src ├── email_sender.cpp ├── email_sender.h └── main.cpp其中:...

2019-07-07 15:38:19

linux下深度学习框架tensorflow2.0的编译和C++接口使用

谷歌发布了tensorflow2.0后带来全新的使用体验和深度学习实践模式,这里基于新版本进行编译,并使用其C++接口编写示例。环境本文只针对linux系统(windows下尝试过多次后未成功,放弃)ubuntu14.04gcc4.8.5cmake3.10.2编译目的是编译出tensorflow的动态链接库以及准备好tensorflow第三方依赖库安装bazeltensorf...

2019-06-15 00:02:11

一个小巧的rpc通信组件(C++和python)

C++的网络库一般都很重,这里基于zmq这个高性能的消息中间件用C++和python写了一个客户端/服务器互相异步通信的rpc组件代码github:https://github.com/tashaxing/LittleRpc其中:用的是zmq的router和dealer异步模式支持请求/应答和推送src/cpp目录的little_rpc.h和little_rpc.cpp是C++实现的...

2019-06-08 13:51:32

机器学习库dlib的python包编译和使用(windows和linux)

dlib库有对应的python扩展接口包,安装后就可以用python来调用ldib库写程序。获取从官网dlib官网或者github地址dlib源码下载最新源码这里用的是dlib-19.17安装选择从源码编译安装(python2和python3都行)保险起见,在编译安装之前最好打开dlib-19.17/dlib/CMakeLists.txt,显示地设置不使用blas、lapack、cud...

2019-05-30 12:06:34

机器学习库dlib的C++编译和使用(windows和linux)

dlib是一个C++编写的工具集,相比于深度学习库而言,dlib内部更多的是封装了很多传统机器学习计算函数,例如回归分析、支撑向量机、聚类,开箱即用,对外提供了C++和python两种接口。本文通过一个C++调用dlib的demo来体验一下dlib这个强大的工具库。获取从官网dlib官网或者github地址dlib源码下载最新源码这里用的是dlib-19.17编译windows和lin...

2019-05-28 16:59:57

C++11实现简易定时器

定时器timer是多线程编程中经常设计到的工具类定时器的原理其实很简单:创建一个新线程在那个线程里等待等待指定时长后后做任务这里用C++11实现了一个简单易用的定时器,包含两种模式:周期性定时任务执行单次延时任务执行timer.hpp#ifndef _TIMER_H_#define _TIMER_H_#include <functional>#incl...

2019-05-05 23:15:33

C++11实现线程池

什么是线程池线程池(thread pool)是一种线程使用模式。线程过多或者频繁创建和销毁线程会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着管理器分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价,以及保证了线程的可复用性。线程池不仅能够保证内核的充分利用,还能防止过分调度。线程池原理预先创建预定数量的线程,将多个任务加入到任务队列。类似于生产...

2019-05-05 21:59:05

C++内存池的简单原理及实现

为什么要用内存池C++程序默认的内存管理(new,delete,malloc,free)会频繁地在堆上分配和释放内存,导致性能的损失,产生大量的内存碎片,降低内存的利用率。默认的内存管理因为被设计的比较通用,所以在性能上并不能做到极致。因此,很多时候需要根据业务需求设计专用内存管理器,便于针对特定数据结构和使用场合的内存管理,比如:内存池。内存池原理内存池的思想是,在真正使用内存之前,预先...

2019-05-05 18:11:03

C++执行shell命令

在linux系统下,用C++程序执行shell命令有多种方式管道方式#include <iostream>#include <unistd.h>#include <sys/types.h>int main(){ FILE *pp = popen("cd /xxxx && ls -l", "r"); // build pipe i...

2019-04-11 17:28:22

C++加载动态链接库(cmake生成,隐式链接,显示链接)

C++程序在运行时有两种方式加载动态连接库:隐式链接和显式链接。加载动态库文件就是将动态库中的代码逻辑映射到用户进程地址空间,就在程序执行的时候进行函数调用。隐式链接隐式链接是在程序开始执行时就将动态库文件加载到应用程序当中,需要在程序构建编译阶段就指定好,这种方式比较常用unix的动态库只有.so文件,使用时需要配置工程:包含库头文件包含库.so文件地址链接库名称(多种方式)...

2019-02-22 11:48:40

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取