自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(198)
  • 收藏
  • 关注

原创 李宏毅深度学习项目——HW2个人笔记

定义数据集格式,data是数据,label是对应的标签,如果label为空,则表示需要预测else:else:# 定义训练模型# 前向传播函数,每过一层就走一次激活函数return x。

2024-06-24 17:24:24 200

原创 李宏毅深度学习03——神经网络训练不起来怎么办

假设将分类问题按照回归问题来做即假设class对应着数字1,2,3,有时候可行,有时候不可行。比如假设根据身高体重预测是几年级,由于年级之间有联系,所以可行但是如果这几个class之间没有联系,则不可行。

2024-06-20 15:56:13 900

原创 李宏毅深度学习02——机器学习任务攻略

先用一个比较简单的模型或者说比较浅层的模型来算Loss,接着再用复杂的模型来算Loss,如果复杂的模型Loss反而更大,则证明是Optimization Issus,否则是Model Bias。

2024-06-19 09:58:02 234

原创 李宏毅深度学习项目——HW1个人笔记

数据集类,处理和加载用于训练模型或者进行预测的数据''''''self.y = yelse:else:# 模型定义,继承自pytorch的nn.Moudule基类(所有神经网络的基类)# 调用父类的构造函数(必须)# 定义自己的模型,nn.Sequential是一个容器,按顺序包含一系列的层,这里定义了三个连接层和两个激活函数# 这里的激活函数是ReLu(),意思是如果nn.Linear()的结果小于0,则神经网络不继续往下走,用于缓解梯度消失问题nn.ReLU(),

2024-06-18 15:06:20 295

原创 李宏毅深度学习01——基本概念简介

loss(损失函数):一个函数,输入是模型中的参数 L(b, w),输出的值代表这组b,w好还是不好,值越大,代表b,w越不好MAE(mean absolute error): 均值绝对误差MSE(mean square error): 均值方差Cross-entropy:如果预测值和实际值都是随机分布的,则使用这种方式查看损失值label(真实值):真实的值,类似于训练数据Error surface(误差面):等高线图。

2024-06-13 17:32:27 971

原创 Numpy练习

执行save时会在当前项目路径下生产一个my_array.npy文件,等到实际用的时候再通过load把数组拿出来。切片操作是左闭右开的,即包括起始位置,但不包括结束位置。总体思路就是一维一维地分解,并不是什么高深的东西。多维数组看大佬参考链接解释。

2024-06-06 17:51:23 251

原创 双系统下删除ubuntu

由于我在安装Ubuntu的时候没有自定义安装位置,而是使用与window共存的方式让Ubuntu自己选择安装位置,导致卸载时我不知道去格式化哪个分区,查阅多方资料后无果,后在大佬帮助下找到解决方案。

2024-04-27 17:07:30 567

原创 MLT媒体程序框架02:源码剖析

以MLT自带的Melt命令行工具源码为例。去掉一些不重要的代码。

2024-04-10 14:31:58 476

原创 MLT媒体程序框架01:概述

MLT是一个开源的多媒体框架,专为电视广播而设计和开发。它为广播公司、视频编辑器、媒体播放器、转码器、网络流媒体和更多类型的应用程序提供了一个工具包。该系统的功能是通过各种现成的工具、XML创作组件和基于API的可扩展插件提供的。它是通过C语言编写的,但是后续它使用C++封装了一遍,所以C++开发可以直接使用mlt++文件夹下的C++ Api。

2024-04-10 14:08:21 778 4

原创 算法技巧记录

简单地使用了一下这个性质,当二进制情况下只有1个1时证明该数字是2的倍数。循环调用n & (n - 1) 可以把1的数量统计数量。

2024-04-03 10:40:15 138

原创 Git相关

现在有两个代码仓都是基于同一个代码仓进行修改的,现在我已经在其中代码仓A中进行了修改,想将该commit同步到代码仓B中,查找资料后,选择使用git补丁去实现。将path/改成真正的路径,则会进行批处理操作,将修改同步到代码仓B。在代码仓A中执行下面命令会生成一个类似批处理的脚本。

2024-03-06 14:42:40 531

原创 个人编译踩的坑

在CmakeLists中使用pkg-config引入三方库,需要先使用pkg_search_module或者pkg_check_modules在当前文件内引入对应的库,然后使用PkgConfig::xxx将第三方库链接到对应的可执行文件中,其中xxx必须与pkg_search_module第一个参数一致。

2024-02-26 18:30:12 395

原创 QT6不同场景下的一些代码

注意点:horizontalAdvance代替了QT6以前的width函数。

2024-02-21 17:27:27 403

原创 Mac下编译zlib中的minizip

接着cd /usr/local/opt/minizip/.brew并vi minizip.rb。首先brew formula minizip拿到homebrew执行minizip的脚步。按照rb脚本的执行方式写一个对应的shell脚步。

2024-01-08 09:56:22 602

原创 C++音视频01:视频基础、音频基础、封装格式

零声音视频学习

2022-10-12 01:31:52 641

原创 C++第一天:C++面向对象高级开发上

第一天

2022-08-05 10:07:00 263

原创 Golang第二章:程序结构

第二章

2022-07-26 20:31:35 185

原创 Golang第一章:入门

第一章

2022-07-26 15:51:49 192

原创 狂神Vue学习05:第一个Vue-cli项目、webpack的学习、Vue-router

第一个Vue-cli项目什么是vue-clivue-cli是官方提供的一个脚手架,用于快速生成一个vue的项目模板预先定义好的目录结构及基础代码,就好比在创建Maven项目时可以选择创建一个骨架项目,这个骨架项目就是脚手架,让开发更为快速主要的功能:统一的目录结构本地调试热部署单元测试集成打包上线需要的环境Node.js:无脑安装到环境目录下Git镜像确认nodejs安装成功cmd下输入node -v查看是否能过正确打印出版本号即可cmd下输入npm -v查看是否能过正

2022-04-16 23:40:56 128

原创 狂神Vue学习04:插槽slot、自定义事件内容分发

插槽slot在Vue.js中我们使用< slot >元素作为承载分发内容的出口,作者称之为插槽,可以应用在组合组件的场景中测试准备制作一个待办事项组件(todo),该组件由待办标题(todo-title)和待办内容(todo-items)组成,但这三个组件又是相互独立的,该怎么操作呢<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title

2022-04-16 14:50:33 1119

原创 狂神Vue学习03:Vue组件、网络通信、Vue的生命周期、计算属性

什么是组件组件就是可复用的Vue实例,说白了就是一组可以重复使用的模板,跟JSTL的自定义标签、Thymeleaf的th:fragment等框架有着异曲同工之妙。通常一个应用会以一颗嵌套的组件树的形式来组织例如,你可能会有页头、侧边栏、内容区等组件,每个组件又包含了其它像导航链接、博文之类的组件Vue组件注意:在实际开发中,我们并不会用以下方式开发组件,而是采用vue-cli创建.vue模板文件的方式开发,以下方式只是为了让大家理解什么是组件使用Vue.component()方法注册组件&lt

2022-04-14 22:07:27 1367 1

原创 狂神Vue学习02:Vue基本语法、双向绑定

Vue基本语法我们已经成功创建了第一个Vue应用。看起来这跟渲染一个字符串模板非常类似,但是Vue在背后做了大量工作。现在数据和DOM已经被建立了关联,所有东西都是响应式的。我们在控制台操作对象的属性,界面可以实时更新v-bind...

2022-04-14 17:52:16 631

原创 狂神Vue学习01:Vue概念及第一个Vue程序

概念什么是VueVue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架,所谓渐进式就是逐步实现新特性的意思,如实现模块化开发、路由、状态管理等新特性。综合了Angular(模块化)和React(虚拟DOM)的有点与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。因为Vue的边界很明确,就是为了处理DOM,所以不具备通信能力,此时就需要额外使用一个通信框架与服务器交互,常用Axios;

2022-04-13 23:43:25 442

原创 SpringIOC循环依赖底层原理

参考什么是循环依赖简单来说,就是A对象依赖了B对象,B对象依赖了A对象。 // A依赖了B class A{ public B b; } // B依赖了A class B{ public A a; }如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情。 A a = new A(); B b = new B(); a.b = b; b.a = a;这样A,B就互相依赖了但是在 Spring 中循环依赖就是一个问题了,因为,在 Spri

2022-04-09 23:38:57 516

原创 数据结构补强——图

图基础图的定义图G由顶点集V和边集E组成,记为G = (V,E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合。若V = {v1,v2,…,vn},则用|V|表示图G中顶点的个数,也称为图G的阶,E = {{u,v} | u∈V,v∈V},用|E|表示图G中边的条数注意:线性表可以是空表,树可以是空树,但图不可以是空,即V一定是费控集无向图、有向图若E是无向边(简称边)的有限集合时,则图G为无向图。边是顶点的无序对,记为(v,w)或(w,v),因为(v,w)

2022-03-07 21:44:44 6343 2

原创 最经典单串LIS系列:673. 最长递增子序列的个数

题目给定一个未排序的整数数组 nums , 返回最长递增子序列的个数 。注意 这个数列必须是 严格 递增的。代码官方答案class Solution { public int findNumberOfLIS(int[] nums) { int n = nums.length, maxLen = 0, ans = 0; int[] dp = new int[n]; int[] cnt = new int[n]; for (int

2022-03-02 15:46:02 126

原创 最经典单串LIS系列:300. 最长递增子序列

题目给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。分析代码class Solution { public int lengthOfLIS(int[] nums) { int[] dp = new int[nums.length]; dp[0] = 1; int res

2022-03-02 14:34:40 127

原创 操作系统第五课:内核同步机制

内核同步机制关于同步理论的一些基本概念临界区(critical area): 访问或操作共享数据的代码段 简单理解:synchronized大括号中部分(原子性)竞争条件(race conditions)两个线程同时拥有临界区的执行权数据不一致:data unconsistency 由竞争条件引起的数据破坏同步(synchronization)避免race conditions锁:完成同步的手段(门锁,门后是临界区,只允许一个线程存在) 上锁解锁必须具备原子性原子性(象

2022-03-02 10:57:34 126

原创 操作系统第四课:内存管理

内存管理内存管理的发展历程DOS时代 - 同一时间只能有一个进程在运行(也有一些特殊算法可以支持多进程)windows9x - 多个进程装入内存 1:内存不够用 2:互相打扰为了解决这两个问题,诞生了现在的内存管理系统:虚拟地址 分页装入 软硬件结合寻址分页(解决内存不够用问题)内存中分成固定大小的页框(4K),把程序(硬盘上)分成4K大小的块,用到哪一块,加载那一块,加载的过程中,如果内存已经满了,会把最不常用的一块放到swap分区, 把最新的一块加载进来,这个就是著名的LRU算法LRU算

2022-03-01 22:20:04 350

原创 操作系统第三课:进程管理

进程 线程 纤程(面试高频)面试高频:进程和线程有什么区别?​ 不专业:进程就是一个程序运行起来的状态,线程是一个进程中的不同的执行路径。​ 专业:进程是OS分配资源的基本单位,线程是执行调度的基本单位。分配资源最重要的是:独立的内存空间。线程调度执行(线程共享进程的内存空间,没有自己独立的内存空间)进程线程纤程纤程fiber:用户态的线程,线程中的线程,切换和调度不需要经过OS优势:1:占有资源很少 OS : 线程需要1M Fiber只需要4K空间2:切换比较简单3:启动很多

2022-03-01 12:28:46 367

原创 操作系统第二课:CPU知识补充、操作系统基本知识

CPU知识补充CPU的乱序执行乱序的证明package com.mashibing.jvm.c3_jmm;public class T04_Disorder { private static int x = 0, y = 0; private static int a = 0, b =0; public static void main(String[] args) throws InterruptedException { int i = 0;

2022-02-28 21:50:28 315

原创 操作系统第一课:CPU基础知识

相关书籍推荐读书的原则:不求甚解,观其大略《编码:隐匿在计算机软硬件背后的语言》《深入理解计算机系统》数据结构与算法《java数据结构与算法》《算法》《算法导论》《计算机程序设计艺术》操作系统:Linux内核源码解析 30天自制操作系统网络:机工《TCP/IP详解》卷一 建议看原版编译原理:机工 龙书 编程语言实现模式数据库:SQLite源码 Derby硬件基础知识CPU的制作过程本质:一堆沙子 + 一堆铜 + 一堆胶水 + 特定金属添加 + 特殊工艺沙子脱氧 -&gt

2022-02-28 15:20:27 2575

原创 JVM第十一课:JVM常见参数总结

前言生产系统中,Serial其实几乎不用了;现在来说,HotSpot的ZGC还不成熟,目前最好用的GC就是G1了JDK8开始支持G1保守一些的企业,可能用的是JDK7,这时候其实响应时间优先,也就是用PS + PO了;CMS一旦SerialOld时,会STW很久,所以没啥必要用它,还会带来很多麻烦(CMS帮G1和ZGC踩了很多坑)如果用了JDK8,那么就建议使用G1CMS的问题Memory Fragmentation(内存碎片化)-XX:+UseCMSCompactAtFullColle

2022-02-27 20:29:45 482

原创 JVM第十课:垃圾回收器串讲

G1Garbage First Garbage CollectorG1之前的垃圾回收器(Serial,Parallel Scavenge,CMS等)都是把内存从物理上分块的(为了分代)G1是物理上不分代,只在逻辑上分代,分成了很多Region,用到了分而治之的思想G1是一种服务端应用使用的垃圾收集器,比较适合用在多核CPU,较大内存(几十G)的机器上,暂停时间很短,同时保证较高的吞吐量据说G1和PS相比,吞吐量低了10%~15%但是G1的停顿时间很短,只有200ms基本概念(了解即可)car

2022-02-27 16:47:49 279

原创 MySQL优化第七课:深入理解MVCC与BufferPool缓存机制

MVCC多版本并发控制机制Mysql在可重复读隔离级别下如何保证事务较高的隔离性,上节课演示过,同样的sql查询语句在一个事务里多次执行查询结果相同,就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。这个隔离性就是靠MVCC(Multi-Version Concurrency Control)机制来保证的,对一行数据的读和写两个操作默认是不会通过加锁互斥来保证隔离性,避免了频繁加锁互斥,而在串行化隔离级别为了保证较高的隔离性是通过将所有操作加锁互斥来实现的。Mysql在读已提交和可重复读

2022-02-18 00:33:58 453 1

原创 MySQL优化第六课:深入理解Mysql事务隔离级别与锁机制

概述我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能 就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机 制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。事务及其ACID属性事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。原子性(Atomicity) :事务是一个原子操作单元,其对数

2022-02-17 18:17:57 187 1

原创 MySQL优化第五课:MySQL索引优化实战二

分页查询优化DROP TABLE IF EXISTS `employees`;CREATE TABLE `employees`(`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '姓名',`age` INT(11) NOT NULL DEFAULT '0' COMMENT '年龄',`position` VARCHAR(20) NOT NULL DEFAULT '' COMMEN

2022-02-17 00:24:41 260 1

原创 MySQL优化第四课:Mysql索引优化实战一

实例DROP TABLE IF EXISTS `employees`;CREATE TABLE `employees`(`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '姓名',`age` INT(11) NOT NULL DEFAULT '0' COMMENT '年龄',`position` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '

2022-02-16 19:29:30 262 1

原创 MySQL优化第三课:一条SQL在MySQL中是如何执行的

MySQL的内部组件结构大体来说,MySQL可以分为Server层和存储引擎层两部分Server层主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。Store层存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。现在最常用的存储引擎是InnoDB,它从MySQL5.5.5版本开始

2022-02-15 16:43:54 814 1

原创 MySQL优化第二课:Explain详解与索引实践

2022-02-12 18:32:13 244

李宏毅作业1数据covid.data.zip

李宏毅作业1数据covid.data.zip

2024-06-18

李宏毅HW1-covid.train.csv

李宏毅HW1-covid.train.csv

2024-06-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除