boldyoungster
算法工程师,c/c++、python程序猿
展开
-
python性能优化全面指南
文章目录python、c++与文言文、白话文鱼和熊掌兼而得之创建一门新的语言,这门语言能够写起来像python,跑起来像c++JuliaNim拼命提升高级语言Python的运行效率将python转化成c、c++代码进行优化cythonnuitkapythran11l使用JIT技术提高python效率pypynumba总结python、c++与文言文、白话文python语言简单易用,写起代码来就像用我们平常的话来描述流程图,平易近人的不得了,做个类比来说,python就像是现在的白话文,它很容易学会理解,原创 2020-07-27 01:05:22 · 1598 阅读 · 1 评论 -
使用Python进行自动语音识别
在本文中,探讨了如何使用Python和Hugging Face Transformers库执行自动语音识别(ASR)。说明了如何加载预训练的ASR模型并使用它来识别音频文件中的语音。同时提供了一个演示脚本,方便用户在自己的音频文件上测试该库。借助Hugging Face Transformers的帮助,ASR已经变得更加易于使用,无论是对于开发人员还是研究人员。现代ASR模型由于其深度学习架构和在大规模数据集上的训练,因此高度先进和准确。原创 2023-04-04 16:28:54 · 2375 阅读 · 0 评论 -
如何跳过各种坑,将python程序用pyinstaller打包为exe?
之前写过一篇文章,讨论如何用selenium爬取句子迷网页上的箴言,以及如何将这些句子写到图片中,再将图片设置为桌面背景,并且定时更新,有兴趣可以瞧瞧。这篇文章讨论一下如何将以上的python程序用pyinstaller打包成exe,从而可以更加容易的分享给别人,让他人羡慕嫉妒恨。首先将python程序转换成exe,常用的有pyinstaller,py2exe, nuitka。最后一个nu...原创 2018-08-31 23:21:12 · 2773 阅读 · 1 评论 -
python 操作excel文件——openpyxl, xlsxwriter, pandas
最近用python写了好多处理excel文件的小工具。谈谈感受。最开始使用的是xlrd,xlwt两个模块,但是xlwt这个模块只能输出.xls文件,不能输出.xlsx文件,而.xls最多只能支持256列,鄙人就是由于事先没有了解清楚这一局限,导致后期程序的功能受限,不得不改用其他包。由于xlwt的局限,所以不推荐使用,除非是要输出老的03版excel文件,现在应该不太会有这种要求了。openpyx...原创 2018-05-12 13:23:07 · 9278 阅读 · 3 评论 -
python调用ADB接口实现自动打电话(夺命连环call)
引言:如果有一天你的女朋友对你是否爱她产生了一丝丝怀疑,为了证明你的赤子之心,她要求你每天给她打521个电话,代表着“我爱你”。你为此非常崩溃,一分钟打一个电话,那也得521分钟,也就是将近9个小时,女朋友要你每天996说“我爱你”,你为难了吗?不!我们应该用科学的手段来解决爱人的一切需求。正题:要解决这个问题,你需要一个可以自动打电话的程序,而且电话需要是以你的手机号拨打出去的,你可以用adb来实现这个功能。首先,请确保你用的是安卓手机;其次,你需要安装Adb工具:下载ADB工原创 2021-02-27 21:54:21 · 3543 阅读 · 0 评论 -
python pip 更改镜像源解决下载太慢的问题
pypi 镜像使用帮助清华的pypi 镜像每 5 分钟同步一次。临时使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package注意,simple不能少, 是https而不是http设为默认升级 pip 到最新的版本 (>=10.0.0) 后进行配置:pip install pip -Upip config set global.index-url https://pypi...原创 2021-02-27 21:41:22 · 268 阅读 · 0 评论 -
pytorch例子1——曲线拟合
pytorch 简单曲线拟合#!/usr/bin/python3import numpy as npimport matplotlib.pyplot as pltimport torchfrom torch import nnfrom IPython import embedbatch_size = 10000input_size = 1output_size = 1num_epochs = 1000learning_rate = 0.1x = torch.linspace(0,原创 2020-08-04 23:55:46 · 1203 阅读 · 0 评论 -
pytorch 例子2——手写数字识别
pytorch 例子2——手写数字识别import numpy as npimport matplotlib.pyplot as pltfrom IPython import embedimport torchimport torchvisionfrom torchvision import datasets, transformsfrom torch import nnstd = 0.5mean = 0.5transform = transforms.Compose([transfo原创 2020-08-04 23:58:45 · 231 阅读 · 0 评论 -
Jupyter notebook 局域网服务器配置
Jupyter notebook 局域网服务器配置生成配置文件打开终端,运行以下命令jupyter notebook --generate-configlinux 下生成的文件在:~/.jupyter/jupyter_notebook_config.py~ 是你的HOME 目录。如果这个目录有jupyter_notebook_config.json文件,把它删除,它的优先级.py结尾的配置文件高。设置密码:In [1]: from notebook.auth import passwd原创 2020-07-15 21:19:31 · 995 阅读 · 0 评论 -
在c++多线程环境中嵌入python
要解决的问题:在c++中嵌入python解释器,可以执行python脚本,且可以开启多个c++线程来并行执行python脚本。测试环境:Deepin 15.11python3.5EmbedPyInCpp.cpp#include <Python.h>#include <thread>#include <memory>void...原创 2020-03-25 23:27:21 · 649 阅读 · 1 评论 -
python 多进程共享普通对象的实例
python中的线程,因为GIL锁的问题,实际上同时执行的永远都是一个线程,不能充分发挥多核cpu的能力。多进程可以使用多个cpu,但是不能像多线程之间那么方便的共享变量和对象。比如说,在主线程创建了一个对象App,在子线程中检测App的数据发生了变化,从而执行某一动作。在多线程环境中,由于App是共享的,所以可以很方便的写出下面的代码。#!/usr/bin/python3# -*- co...原创 2020-03-01 17:41:09 · 1255 阅读 · 0 评论 -
手把手地写一个机器人仿真环境---RobotZen
前言如果对机器人感兴趣,要么很土豪,可以买一个机器人来用用,但是也耐不住机器人型号太多,多买几个,钱不是问题,主要没地方放了。钱都是装在手机里的,机器人当然也可以是虚拟的。关于机器人的仿真环境已经有很多了,以下是一个不完全的统计:AirSim - Simulator based on Unreal Engine for autonomous vehicles [github] AR...原创 2019-12-20 23:48:44 · 1202 阅读 · 7 评论 -
超越pybind11,类似cffi的最简单易用的python binding for c/c++—— cppyy
cppyy 是pypy团队开发出来的灵活完全自动的c/c++函数/类的python绑定,在易用性上远超其他的工具(如python C API, pybind11, cython等)。安装:pip install cppyy相关依赖会自动安装使用:#!/usr/bin/env python# coding: utf-8# # CPPYY# cppyy 非常灵活易用,可...原创 2019-08-24 19:53:52 · 1724 阅读 · 0 评论 -
三行代码实现python版本的sprintf函数
sprintf是c语言里面的一个函数,调用方式为sprintf(char *dest_str, char *format_str, arg1, arg2),可以将格式化之后的字符串存到dest_str,dest_str是需要实现声明的,例如下面的程序:#include <stdio.h>int main(int argnum, char *args[]){ cha...原创 2019-03-18 21:29:19 · 9373 阅读 · 2 评论 -
python 爬取历届诺贝尔文学奖结果
想看一看这么多年来都有什么人获得了诺贝尔文学奖,网上很难找到一份比较全面的信息,无意中发现诺贝尔奖的官方网站上竟然有历届奖项的获奖信息,还包括作者的一些简介、评语等。简单看了下网页,发现并不难爬取,于是写了python程序,爬完后发现那些佶屈聱牙的评语读者很费时间,于是又调用了百度的翻译api译成中文。做此文,以记之,便于他日温故而知新。诺奖官方网址:https://www.nobelpr...原创 2019-01-22 16:34:55 · 740 阅读 · 0 评论 -
python性能优化的比较:numba,pypy, cython
python 程序性能优化的套路一般有两种:1)jit, 即just in time compiler, 即时编译器,在运行时将某些函数编译成二进程代码,使用这种方式的有:numba 和pypy;2)将python代码转换成c++/c代码,然后编译执行,这种方式有:cython和nuitka。总而言之,转换成c++/c代码以后编译成二进制文件执行的效率比用numba和pypy即时编译执行的效率要高...原创 2018-12-26 18:34:17 · 5444 阅读 · 3 评论 -
jupyter notebook 改变工作路径
Jupyter notebook初始的启动位置不是自己想要的,可以通过在命令行先进入相应的目录,在此目录下在输入‘jupyternotebook’,打开的jupyternotebook既是在此目录下了。这种方法需要每次在命令行先切换到相应的目录,可以通过更改配置文件,一劳永逸。1)生成jupyter notebook配置文件2)修改配置文件修改刚才生成的配置文件,jupyter_noteb...原创 2018-05-13 16:42:49 · 5001 阅读 · 4 评论 -
PyQt5找不到libxcb
今天在linux系统中安装PyQt5之后,运行时发现报错:Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.按照网上找的教程可.原创 2020-12-30 23:13:15 · 1183 阅读 · 1 评论 -
使用GPU 训练Tensorflow/Keras 的CNN模型
关键词:Kaggle 猫狗大赛,MX510 GPU, 联想潮7000, Win10, NVIDA显卡之前写了一个猫狗识别的CNN模型,利用笔记本进行训练,每次都需要好久,基本每个epoch要5分钟左右,来来回回改改参数,每次都要等漫长的时间。于是在找怎么利用GPU进行训练。1. 电脑的显卡是NVIDA MX510, 可以支持CUDA,要使用tensorflow-gpu版本,需要安装CUDA9.0,...原创 2018-06-03 19:16:07 · 20684 阅读 · 0 评论 -
从零开始,如何用python定时更新炫酷文艺的桌面背景
先介绍一个网站——句子迷,网站上有众多网友分享的经典句子,我们将搜索我们喜欢的作者,爬取所有该作者的名句。我们利用selenium来进行可视化的爬虫,首先要pipinstall selenium,然后下载谷歌chrome浏览器的驱动,选择对应的版本即可。下载后解压,将路径添加到系统环境变量中,方便使用。首先运行get_motto.py 来获得句子,存为mottos.json 和mot...原创 2018-08-17 13:06:51 · 680 阅读 · 1 评论 -
利用Keras搭建LSTM RNN神经网络实现文本生成预测
txt 格式文本的下载:https://www.ixdzs.com/d/77/77362/#download下载后用记事本打开另存为utf-8编码格式。分割文本数据的代码:# -*- coding: utf-8 -*-"""Created on Mon Aug 27 06:14:13 2018@author: xiaozhe"""import re#pattern = ...原创 2018-08-27 10:40:01 · 3394 阅读 · 1 评论 -
Keras 建立LSTM RNN神经网络实现文本生成预测(二)
前面所述的LSTM网络中用到TimeDistributed()这个网络层,实际上是将RNN展开后的每个网络的输出都算入到最终的输出结果里,比如说序列“我今天吃了一个大包子”,按照之前的网络,如果每批次有3个序列,每个序列有4个词(字),那么一个批次的数据就是“我今天吃”,对应的输出是“今天吃了”,每个输入词对应的输出是它的下一个词。如果我们不关心序列中间的输出,只关心输入序列的最后一个预测词,...原创 2018-08-27 22:03:55 · 3839 阅读 · 1 评论 -
RNN分类IMDB电影评分
本文从头开始实践如何利用RNN构建一个电影评价的正负面分类器。1. IMDB数据集的下载2. 数据预处理# 数据准备from keras.datasets import imdb# 可以直接使用 imdb.load_data() 下载数据from keras.preprocessing import sequencefrom keras.preprocessing.tex...原创 2018-08-20 22:20:16 · 2355 阅读 · 0 评论 -
利用pybind生成python的C++扩展模块
pybind用起来比较方便,代码量也比较少。首先用pip 安装pybind。然后编写c++代码,以c++的加法拓展为例:#include <pybind11/pybind11.h>namespace py = pybind11; int add(int i, int j){ return i + j;} PYBIND11_PLUGIN(example)...原创 2018-10-12 11:07:15 · 1307 阅读 · 0 评论 -
SublimeText3 使用anaconda包配置python环境
sublime text3 很好的文本编辑器,用来运行小脚本很适合。介绍一下如何配置python使用环境,sublime里面支持python最好的代码提示、参数不全等功能是anaconda插件。1) 下载sublime text3https://www.sublimetext.com/32) 安装包插件打开sublime text3 , 按Shift+ctrl+P, 进入命令界面,输入instal...原创 2018-05-12 13:08:40 · 21404 阅读 · 4 评论