许野平
码龄20年
  • 997,814
    被访问
  • 464
    原创
  • 2,503
    排名
  • 447
    粉丝
  • 41
    铁粉
关注
提问 私信

个人简介:非常喜欢软件设计这份工作,有不错的数学基础,喜欢读书、摄影与音乐。

  • 加入CSDN时间: 2002-05-28
博客简介:

程序猿视角

博客描述:
用简单的语言,说明复杂的道理 —— 一名程序员的阅读心得和没有头绪的随笔记录。
查看详细资料
  • 6
    领奖
    总分 2,737 当月 12
个人成就
  • 获得431次点赞
  • 内容获得272次评论
  • 获得1,752次收藏
创作历程
  • 38篇
    2022年
  • 188篇
    2021年
  • 93篇
    2020年
  • 41篇
    2019年
  • 67篇
    2018年
  • 32篇
    2017年
  • 19篇
    2016年
  • 1篇
    2010年
  • 3篇
    2009年
  • 1篇
    2007年
成就勋章
TA的专栏
  • pytorch
    2篇
  • python
    2篇
  • tensorflow
    2篇
  • keras
    2篇
  • GPU
    28篇
  • C语言
    10篇
  • 加密技术
    2篇
  • 安全技术
    2篇
  • Web
    2篇
  • web service
    3篇
  • APACHE
    2篇
  • 网络技术
    1篇
  • 工业软件
    1篇
  • 数据结构
    2篇
  • GLib
    6篇
  • PHP
    1篇
  • onvif
    1篇
  • gSoap
    4篇
  • OpenGL
    1篇
  • 知识产权
    1篇
  • GTK
    6篇
  • Cuda
    8篇
  • Jetson
    38篇
  • 程序设计语言
    20篇
  • C++
    51篇
  • C#
    2篇
  • CMake
    2篇
  • Delphi
    1篇
  • FPGA
    3篇
  • Go
    22篇
  • Haskell
    40篇
  • Lua
    2篇
  • Java
    1篇
  • Rust
    74篇
  • 机器视觉
    52篇
  • DeepStream
    33篇
  • GStreamer
    57篇
  • OpenCV
    27篇
  • darknet
    3篇
  • yolo
    1篇
  • RTSP Server
    7篇
  • 程序猿的那点数学
    16篇
  • VSCode
    1篇
  • 程序人生
    20篇
  • Windows
    7篇
  • 深度学习
    67篇
  • 机器学习
    46篇
  • 软件工程
    15篇
  • 人工智能
    65篇
  • linux系统管理
    52篇
  • Docker
  • 自然语言处理
    21篇
  • ubuntu
    13篇
  • MySQL
    3篇
兴趣领域 设置
  • 数据结构与算法
    排序算法推荐算法
  • 人工智能
    opencvcaffetensorflowmxnetpytorchscikit-learn聚类集成学习迁移学习分类回归
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Cifar-10 数据格式分析

Cifar-10 的介绍可去官网阅读,也可参照我之前整理的《笔记:CIFAR-01 和 CIFAR-100 数据集内容和格式详解》1. 下载 Cifar-10 数据本文下载了 Cifar-10 的 Python 语言版本,解压后放在文件夹:...\cifar-10-python\cifar-10-batches-py 中。其中包含如下文件:2. 读取 Cifar-10 数据按照官网说明,这些数据可以用如下 Python 代码读取:def unpickle(file): import pi
原创
发布博客 2022.05.31 ·
64 阅读 ·
0 点赞 ·
1 评论

通过两个神经元的极简模型,清晰透视 Pytorch 工作原理

解剖麻雀,是分析了解复杂问题的好办法。本文通过搭建只有两个神经元的网络,从根本上剖析 Pytorch 工作原理。1. 两个神经元的神经网络我计划搭建一个极简的神经网络模型。这个模型用来拟合 [0,1][0,1][0,1] 区间的一条抛物线,如果用 sigmoid 作为激活函数,两个神经元就够了。.至于为什么只需要两个神经元,我会另写文章来加以说明。我遇到不少程序员,对于现有网络框架的调参、训练很熟练,但是一旦要他们自己创建新网络,往往不知道从何入手。原因在于对神经网络工作原理不理解。我建议,学习深度
原创
发布博客 2022.05.27 ·
60 阅读 ·
0 点赞 ·
0 评论

Pytorch 笔记(1) 如何定义神经网络?

之前一直用 Keras,工作的原因,改用 Pytorch,找了本书,尝试一下,第一个网络就拿 LeNet 入手吧。LeNet 结构如下
原创
发布博客 2022.05.25 ·
52 阅读 ·
0 点赞 ·
0 评论

Rust: Native Windows GUI 入门第一课,程序结构剖析

基于派生宏的代码实例Cargo.toml 文件[package]name = "demo"version = "0.1.0"edition = "2018"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies]native-windows-gui = "*"native-windows-derive = "*"依赖两个
原创
发布博客 2022.05.19 ·
174 阅读 ·
0 点赞 ·
0 评论

Rust: Native Windows GUI下载、安装、演示入门

上 github 下载,网址为 https://github.com/gabdube/native-windows-gui。上面有安装说明。按说明方法,老是提示权限不够。配置了 ssh 公钥证书,仍然不行。请教同事后得知,可能是网络传输问题,在国内访问github经常会出现这类问题。于是想办法通过其他方法下载了压缩包。具体用法如下:Native Windows GUI欢迎使用 Native Windows GUI(又名NWG)。用于在 Microsoft Windows 桌面上开发本机 GUI 应用程
原创
发布博客 2022.05.19 ·
190 阅读 ·
0 点赞 ·
0 评论

native-windows-gui-master.zip

发布资源 2022.05.19 ·
zip

Rust: 函数的重载——我做的的一组小实验

编程的时候,我发现有不少函数能够根据左值类型自动调用重载函数。但是,我知道 Rust 的函数是不支持重载的。所以我打算尝试一下这一”重载“现象是如何实现的。一、Rust 不支持函数重载写一段代码:fn foo() -> i32 { 123}fn foo() -> String { "123".into()}fn main() { let x: i32 = foo(); println!("{:?}", x); let x: String
原创
发布博客 2022.05.12 ·
187 阅读 ·
0 点赞 ·
0 评论

Rust:官方迭代器大全

一、for 和迭代器先看一段代码:fn main() { for x in [1, 2, 3, 4, 5] { println!("{:?}", x); }}======== cargorun ========12345如果 for 语句只能用于数组,那就太可惜了。我们看一下 Vec 类型:fn main() { let list: Vec<i32> = vec![1, 2, 3, 4, 5]; for x in list
原创
发布博客 2022.05.12 ·
96 阅读 ·
0 点赞 ·
0 评论

Rust:功能强大的组合器

Rust 能够用组合器简化代码编写。之前觉得没啥用,实际完成一个项目后,才知道组合器的威力强大。下面列举一下常见的组合器。一、Option 组合器: Option -> Option1. or()例子:fn main() { let x=Some(1); let y = Some(2); let z1 = x.or(y); let z2 = None.or(y); println!("{:?}", z1); println!("{:?}", z2
原创
发布博客 2022.05.11 ·
68 阅读 ·
0 点赞 ·
0 评论

Rust:用问号 ?操作符简化错误信息的判断

Option 返回值如果你调用的函数和你正在写的函数都返回 Option 类型,如果你调用的函数返回 None,你的函数也返回 None,这时,代码可以用问号 ? 操作符简化。看下面的例子:fn foo() -> Option<i32> { None}fn bar() -> Option<String> { foo()?; Some(String::from("Hello"))}fn main() { println!("{:?}", ba
原创
发布博客 2022.05.11 ·
152 阅读 ·
0 点赞 ·
0 评论

Rust: 简便快捷的 Json 格式转换

serde 提供了常见序列化格式串的支持。下面给出一个 json 串转换的例子。1. 编辑 Cargo.toml首先编辑 Cargo.toml 文件,引入 serde 软件包。[dependencies]serde = { version = "1.0.117", features = ["derive"] }serde_json = "1.0.59"2. 测试程序接下来看个例子:use serde::{Serialize, Deserialize};#[derive(Serializ
原创
发布博客 2022.05.07 ·
170 阅读 ·
0 点赞 ·
0 评论

Rust:仔细研究了一下Box、Arc、Mutex 的原理,看看如何包装一个变量,并暴露变量类型。

用 Arc、Mutex 等包装一个变量,令我好奇的是,加上包装后,仍然可以直接使用变量的各种方法。例如下面的代码:use std::sync::Arc;struct Hello {}impl Hello { fn foo(&self) {}}fn main() { let x = Arc::new(Hello {}); x.foo();}这是如何做到的呢?背后的奥秘是 Deref 特性。我写了一段代码,也能实现如此效果:use core::ops::Dere
原创
发布博客 2022.05.06 ·
84 阅读 ·
0 点赞 ·
0 评论

Rust:修改 Mutex 封装变量的简单试验

想修改 Mutex 封装的变量,尝试了好多方法都不能直接修改,于是想到把数据封装成 struct,利用专门的方法来修改。代码如下use std::sync::Mutex;#[derive(Debug)]struct Data { item: i32,}impl Data { fn set(&mut self, n: i32) { self.item = n; }}fn main() { let data = Data { item:
原创
发布博客 2022.05.05 ·
110 阅读 ·
0 点赞 ·
0 评论

Rust:简单的例子试验 Arc 共享指针

写个简单的例子,看一下 Arc 共享指针的效果。首先,看看不共享时 Arc 指针的生命周期。在下面例子中,变量 b 在 step 1 之后,离开作用域时释放,析构函数显示 drop。use std::sync::Arc;struct Hello {}impl Drop for Hello { fn drop(&mut self) { println!("drop"); }}fn main() { { let b = Arc::
原创
发布博客 2022.05.05 ·
447 阅读 ·
0 点赞 ·
0 评论

Rust:通过简短的例子,看迭代器的设计方法

写了一个迭代器的例子,只需要实现 Iterator 即可。代码如下:struct MyIter { n: i32,}impl Iterator for MyIter { type Item = i32; fn next(&mut self) -> Option<Self::Item> { self.n -= 1; if self.n < 0 { None } else {
原创
发布博客 2022.05.05 ·
63 阅读 ·
0 点赞 ·
0 评论

实战一个项目后,谈谈 Rust 语言的优点和缺点

最近做了一个知识库的产品开发,服务器端完全用 Rust 编写的。现在项目的核心功能已经完成,我来谈谈 Rust 的初步印象。1. Rust 的开发效率Rust 的入门门槛稍有些高。如果有 C/C++ 的经验,说实话,我觉得也不算太高。刚开始用的时候,会发现 Rust 没完没了地提示编译错误。在这个阶段,我发现自己很多不严谨的编程习惯。幸运的是,这个过程很快就过去了。接下来,就会享受到 Rust 语言的高效率编程的乐趣了。目前,我觉得 Rust 是一个能够高效产出高质量代码的工具,让我有些爱不释手了!
原创
发布博客 2022.04.25 ·
869 阅读 ·
0 点赞 ·
0 评论

TensorFlow、Keras、Python 版本匹配一览表

TensorFlow、Keras、Python 版本匹配一览表兴冲冲装完软件,发现运行不了,查了下资料,发现是TensorFlow、Keras、Python 版本匹配问题。这里提供一个版本匹配清单,需要严格按此标准安装。版本匹配清单FrameworkEnv nameDescriptionTensorFlow 2.2tensorflow-2.2TensorFlow 2.2.0 + Keras 2.3.1 on Python 3.7.TensorFlow 2.1tenso
原创
发布博客 2022.04.21 ·
3567 阅读 ·
0 点赞 ·
1 评论

ubuntu 下安装 tensorflow 和 keras

申请了一台超算服务器,里面的系统很旧,试着安装了一下 tensorflow 和 keras,折腾了一天也无法在 python 中运行。今天耐下心来研究了一下安装程序,轻松解决这个问题。了解 conda在 ubuntu 系统中,有两个安装工具需要了解,一个是 conda,另一个是 pip。这两个工具主要区别是,conda 不仅能为 python 安装软件包,而且也能为其它语言安装。pip 只能安装 python 的软件包。conda 可以创建自己的运行环境。最初我反复折腾,没有效果,主要原因是我是在
原创
发布博客 2022.04.21 ·
1061 阅读 ·
0 点赞 ·
0 评论

gst-launch-1.0用法小记

由于工作中要使用DeepStream这个框架,绕不开gstreamer-1.0,于是这段时间学习了这个框架的用法。还没有能力去阅读源码。gstreamer框架中,gst-inspect-1.0和gst-launch-1.0这两个工具是必须要熟悉的,现就gst-launcher-1.0的用法做下笔记,以免日后遗忘。参考https://blog.csdn.net/u010168781/article/details/102805210一、命令格式gst-launch-1.0 [OPTIONS] PIPELI
转载
发布博客 2022.04.16 ·
358 阅读 ·
0 点赞 ·
0 评论

serde - rust的序列化方案

serde - rust的序列化方案设计支持的数据格式数据结构serde数据模型serde类型系统数据模型映射使用derive)原文: Overview · Serde翻译: kulaserde, 是rust语言用来序列化和反序列化数据的一个非常高效的解决方案。本质上,serde提供了一个序列化层的概念。可以将任何支持的数据格式反序列化成中间格式,然后序列化成任何一种支持的数据格式。设计同其他语言通过反射来实现序列化方案不同,serde基于rust的trait系统来实现自己的序列化,每种数据
转载
发布博客 2022.04.15 ·
117 阅读 ·
0 点赞 ·
0 评论
加载更多