今天在网上冲浪,看到了一个号称是最好懂的神经网络解释。我读完之后立马想到了遥感植被指数。
神经网络是 AI 的算法基础。
前些天,我在美国科普网站《量子杂志》(Quanta Magazine),读到一篇科普文章,用一个浅显的例子 + 插图,解释了神经网络,堪称我见过的最好懂的教程。
下面就是我整理出来的中文版。
1、
你的计算机里有一堆照片,你想要从中找出猫的照片,应该怎么做?
你很快意识到,这其实是一个机器分类问题,计算机要把照片分成两类:一类是猫,另一类不是猫。
2、
让我们把这个问题想成一张地图,中间有一条分界线,把地图分成两个国家。
你的任务是,找出这条分界线的确切位置。这样的话,给出任意一个点,你就知道它在分界线的左边还是右边。
3、
作为已知条件,地图上很多点的归属,是已知的。比如上图中,三角点属于 A 国,方块点属于 B 国。
你要做的就是,从这些点推测出分界线。
4、
我们可以建立一个数学函数(上图的点 N),处理这个问题。
这个函数接受两个参数,分别是每个点的 x 坐标和 y 坐标,函数的返回值是0~1之间的一个值,表示该点有多大概率属于当前国家。
5、
你 ...
import http.server
import socketserver
import urllib.parse
import html
import netifaces
DEFAULT_PORT = 8000
MAX_PORT_ATTEMPTS = 100 # 最大尝试端口数量
TEXT_HISTORY = [] # 存储提交的文本历史
class TextHandler(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
# 处理favicon请求
if self.path == '/favicon.ico':
self.send_response(204) # No Content
self.end_headers()
return
self.send_response(200)
self.send_header("Content-type", ...
要将Windows 10的G盘设置为局域网内的NAS(网络附加存储),可以通过Windows的共享功能实现,其他局域网内的电脑可以访问共享的文件夹。以下是一个实现步骤的说明,并提供一个PowerShell脚本用于自动化设置共享文件夹和权限。
实现步骤概述
启用文件共享功能:确保Windows的网络发现和文件共享功能已开启。
设置共享文件夹:将G盘中的特定文件夹设置为共享,并配置访问权限。
防火墙设置:确保Windows防火墙允许文件和打印机共享。
局域网访问:其他电脑通过网络路径(如\IP地址\共享名)访问共享文件夹。
以下是使用PowerShell脚本自动设置G盘文件夹共享的代码:
# 确保以管理员身份运行
if (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Warning "请 ...
昨天分享的谷歌影像下载器你们是否在用?你们是否觉得好用?
今天聊另一个话题,是关于我的技术债的问题。
我本人并不是计算机科班出门,很多东西都是都是干中学。学得越多发现不会的越多。
去年我曾计划好好学无人机影像处理,好好学SAR,好好学rust,好好学这些那些。
我的好朋友一直说我怎么这么多精力?
实际上个人的精力是有限。年纪上去了,游戏我现在只打王者荣耀了,电脑游戏也半年没玩过了。所以我空闲的时候就学习,学不动了就开一把王者…
昨天有人在评论区问我会什么?我大概只会一点点代码。
写代码的初衷是改造这个世界。以前我不懂代码的时候,被for循环震撼了。等我有一定的编程基础后,用for循环去实现批量处理影像。
这几年,我写过几个工具。这些工具有明显的需求,并且可以减轻繁琐的手动操作。
为什么学无人机影像处理?
这是出于个人对未来的考虑?能在未来做什么?以后想做什么内容?
至于怎么学?先看看这个领域和自己会的东西有没有重合,相似的地方在哪里,然后复现别人的操作。
这和写论文的路数差不多的,复现操作,找到痛点,提出改进。
可惜的是,无人机影像处理、sar、rust这几个领域我都处于复现操作 ...
深度学习
未读在深度学习中,PyTorch 的 .pth 文件常用于保存神经网络的模型权重(state_dict)。当我们看到一个 .pth 文件时,可能会好奇:这个模型到底有多少参数?
下面分为两部分,正推和反推。
正推假设我的模型有一百万个参数,那么我的pth模型多大?
在 PyTorch 中,模型参数通常以 32 位浮点数(float32)存储,每个参数占用 4 字节(32 bits ÷ 8 bits/byte = 4 bytes)。
因此,存储所有参数所需的总字节数为:
1,000,000 参数 × 4 字节/参数 = 4,000,000 字节
转换为 MB:
4,000,000 字节 ÷ (1024 × 1024) = 4,000,000 ÷ 1,048,576 ≈ 3.81 MB
基于上述计算,假设 .pth 文件只保存模型参数(state_dict),文件大小约为 3.81 MB。加上少量的元数据,实际大小可能略高于此值,但通常略比3.81mb大一些。
反推假设.pth 文件是100MB,那她可能有个多少参数?
1. 文件大小转换100MB 的文件大小需要转换为字节:
100 MB ...
深度学习
未读朋友们,你觉得一张10672 × 9525像素的 RGB 图像(3 个颜色通道)是多大?
我最近我使用小白影像下载器,下载了一张影像。我一看这个文件大小,把我看惊了。
它的大小高达 8.95兆。
这确实是非常高效的压缩。今天我们探讨一下关于谷歌地球如何实现如此高效压缩的分析,以及这背后可能的压缩技术和步骤。
1. 计算未压缩图片大小首先,计算未压缩的图片大小以了解压缩程度:
像素总数:10672 × 9525 = 101,660,700 像素
每像素字节数:RGB 图像,3 通道 × 8 位(1 字节)= 3 字节/像素
总字节数:101,660,700 像素 × 3 字节/像素 = 304,982,100 字节
转换为 MB:1 MB = 1,048,576 字节
304,982,100 ÷ 1,048,576 ≈ 290.91 MB
相比之下,谷歌地球将这张图片压缩到 8.95 MB,压缩比约为 290.91 ÷ 8.95 ≈ 32.5:1,显示出极高的压缩效率。
2. 谷歌地球影像压缩的实现方式谷歌地球(Google Earth)使用卫星或航空影像,通过以下技术和策略 ...
写博客是一种低成本但高价值的记录方式,主要投入的是时间,而非金钱。
以我为例,我仅花费200元购买了十年的域名,平均每年成本微乎其微。如果你想进一步省钱,甚至可以完全不购买域名,利用免费平台照样能搭建博客。
我的博客使用的是静态网站,托管在GitHub Pages上,基于开源的Hexo框架。
这意味着整个搭建过程几乎没有额外费用,只需花时间学习和配置即可。对于想开始写博客的人,搜索Hexo教程是一个简单直接的起点,网上有大量免费资源和指南,足够帮助你快速上手。
静态网页的定义,简单来说,就是内容在生成后不会因用户请求而动态变化。
换句话说,访问者看到的内容是固定的,不会因为用户的操作而实时生成或修改。
以我之前开发的小程序为例,它也是静态网页的一种,内容事先准备好,加载后直接呈现。
相比动态网页,静态网页的开发和维护成本低得多,因为它不需要复杂的后端支持,比如用户登录系统、数据库管理或实时数据处理。
这对个人博客来说尤其适合,因为大多数博客的核心功能是展示内容,而非交互。
选择静态网页的好处还在于它的轻量和高效。
托管在GitHub Pages这样的平台上,不仅免费,还能借助版本控 ...
打造一个简洁实用的经纬度查询工具最近折腾了一个基于Web的经纬度查询工具,挺有意思的,分享一下开发过程和心得。
我是先做了这个网页再改成小程序。本次将web端版本开源。
这个工具主要是为了方便查询地图上的经纬度坐标,支持实时显示鼠标位置的坐标、点击固定坐标点,还能切换不同的地图和坐标格式,适合需要快速定位或者研究地图数据的朋友。
项目背景有时候我们需要精确地获取某个地点的经纬度,比如做地理信息相关的开发、户外活动规划,或者只是单纯好奇某个地方的坐标。市面上虽然有不少地图工具,但要么功能复杂,要么需要注册账号,或者界面不够直观。于是我就想着自己动手做一个简单易用的工具,核心需求是:
支持高德地图和OpenStreetMap切换
鼠标移动时实时显示坐标
点击地图可以固定坐标点
支持GCJ02、WGS84三种坐标系转换
界面简洁,适配手机和电脑
最终成品是一个纯前端的Web应用,部署在GitHub Pages上,打开浏览器就能用,体验还不错。
功能亮点这个工具虽然简单,但功能还算实用:
双地图支持:可以切换高德地图和OpenStreetMap。高德地图适合国内场景,OpenStree ...
简单的认识Cnamespace DataTypeApplication
{
class study
{
public int add(int a, int b)
{ int result;
result = a + b;
return result;
}
}
class Program
{
static void Main(string[] args)
{
study a = new study();
Console.WriteLine("Size of int: {0}",a.add(1,2));
Console.ReadLine();
}
}
}
1. 先看代码的整体结构这段代码可以分成两部分:
namespace DataTypeApplication(命名空间,类似“文件夹”)
class s ...
简单的认识Cnamespace DataTypeApplication
{
class study
{
public int add(int a, int b)
{ int result;
result = a + b;
return result;
}
}
class Program
{
static void Main(string[] args)
{
study a = new study();
Console.WriteLine("Size of int: {0}",a.add(1,2));
Console.ReadLine();
}
}
}
1. 先看代码的整体结构这段代码可以分成两部分:
namespace DataTypeApplication(命名空间,类似“文件夹”)
class s ...