我们越来越远离底层...

摘自http://dsec.pku.edu.cn/~rli/software.php的一段文字:当我写到这里的时候,正精确地是 2007 年新年钟声敲响的时候,感慨良多。随着现在计算机 硬件的计算能力的飞速发展,事实上来说,在过去的十几年间,我们的计算机的速度和容量提 升了大约一千倍。我们作为来挖掘计算机的计算能力的研究人员,常常还在解决和十几年以前 同样规模的问题写文章,因此事实上来说,我们的计算能力其实是退步了。我们依赖 Windows, 依赖 Matlab,我们的研究生常常连两千阶的线性代数方程组都无法自己写程序解出来,我们越 来越远离底层,无法理解计算数学到底在干什么和要干什么,成为漂浮在厚厚的一层虚无飘渺 之上的白痴。

时间: 2024-10-06 21:01:52

我们越来越远离底层...的相关文章

计算机系统漫游

计算机系统由硬件系统和软件系统组成,它们共同协作来完成执行程序的任务.作为20世纪(世界上第一台计算机ENIAC与1946年诞生于美国的宾夕法尼亚大学)最伟大的发明之一,计算机系统可以说是人类迄今为止创造的最复杂最精密的工具.今天,借助计算机界的圣经教材<深入理解计算机系统>,我来带领大家探索一下计算机系统的秘密. 1 信息就是位 + 上下文 计算机是信息学科的产物,其主要左右就是帮助人们处理各种各样的信息.而信息本身是一个比较抽象的概念,从百度百科给出的定义中我们可以知道,信息是用来传输和处

模型训练技巧

模型训练技巧 神经网络模型设计训练流程 图1-1 神经模型设计流程 当我们设计并训练好一个神经网络之后,需要在训练集上进行验证模型效果是否良好.这一步的目的在于判断模型是否存在欠拟合:在确定已经在训练集上拟合的很好,就需要在测试集上进行验证,如果验证结果差就需要重新设计模型:如果效果一般,可能需要增加正则化,或者增加训练数据: 欠拟合处理策略 当模型在训练集上的表现结果并不好的时候,在排除不是数据集和训过程有问题,你可以采用以下几个方法来进行处理. 更换激活函数 Sigmoid激活函数 Sigm

从0到1教你设计业务系统

导读 本文将以一个案例,向读者逐步揭示一套业务系统从0到1的设计过程.重点讲述架构.模型等业务系统最本质的设计精要. 一.业务系统设计概述 1.什么是业务系统 互联网公司常常将产品方向分为两类,C端和B端,C端主要是面向客户和消费者的系统,B端的范围则相对模糊,给供应商或商家使用的系统,给内部业务人员使用的系统,都统称为B端系统.C端和B端系统建设的出发点和侧重点完全不同.C端系统偏重用户体验,强调感性,持续的数据分析优化,同一个按钮不同的摆放位置都要精心设计.论证,服务对象是个人:B端系统偏重

Java线程使用大全

1.线程实现 1.Thread类 构造方法: 案例代码: public class Ex10_1_CaseThread extends Thread {// 创建一个类继承(extend)Thread类 String studentName; public Ex10_1_CaseThread(String studentName) {// 定义类的构造函数,传递参数 System.out.println(studentName + "申请访问服务器"); this.studentNam

实验--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用(杨光)

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 攥写人:杨光  学号:20135233 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验要求: 选择一个系统调用(13号系统调用time除外),系统调用列表参见http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/sys

advance shading--光源的类型

我们这里讨论的光源类型都有一个相同点,就是,我们考量的都是光源上的一个点,对于物体表面上一个点的影响,也就是说立体角趋近为零的情况. 这里光源分为两类,一类是方向光,假设光源在无限远处.另一类是点光源,假设光源的大小相对与光源和物体表面的距离可以忽略. 方向光在前面介绍过了,它的对物体的辐照度是不变的.现在来把点光源细分一下. 第一种点光源叫omni light,泛光体.它的特点是光源向各个方向的辐射强度或者光的强度都是一样的.在计算其对物体表面辐照度影响的时候使用如下方程: 其中,Pl是光源的

Java多线程——阻塞队列

现在,通过前几篇的总结,我们对Java多线程已经有所了解了,但是它们都是一些Java并发程序设计基础的底层构建块.对于实际编程来说,我们应该尽可能的远离底层结构.使用那些由并发处理的专业人士实现的较高层次的结构要方便的多,安全的多. 阻塞队列 对于许多线程问题.可以通过使用一个或多个队列以优雅且安全的方式将其形式化.生产者线程向队列插入元素,消费者线程则取出他们.使用队列,可以安全地从一个线程向另一个线程传递数据. 阻塞队列的方法 方法 正常动作 特殊情况下动作 add 添加一个元素 如果队列满

Java多线程同步方法

一.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法.在调用该方法前,需要获得内置锁,否则就处于阻塞状态. 注: synchronized关键字也可以修饰静态方法,此时如果调用该静态方法,将会锁住整个类. 二.同步代码块 即有synchronized关键字修饰的语句块. 被synchronized关键字修饰的语句块会自动被加上内置锁,从而实现同步 代码如: synchronized(object){ }

?统计学习精要(The Elements of Statistical Learning)?课堂笔记(三)

照例文章第一段跑题,先附上个段子(转载的哦~): I hate CS people. They don't know linear algebra but want to teach projective geometry. They don't know any probability but want to use graphical models. They don't understand stats at all but still do machine learning like c