Spark名词相关理解 关于partition和taskpartition是spark RDD的操作单元,通常会把一个数据集切分成若干个partition,实现并行处理。我把它称之为需求。 task则是机器能提供的操作单元,一个core对应一个task,一个task处理一个partition。我把它称之为供给。 所以,如果stage还是只有2个partition,无论怎么调节executors的资源数目,都是没有用的,a 2020-03-05 大数据 > Spark
Cuda、Tensorflow、Pytorch版本匹配 Tensorflow和Cuda、Cudnn版本对应关系 所以Cuda 10.0以上版本,就需要tensorflow 1.13.1以上 Pytorch和Cuda版本对应关系https://pytorch.org/get-started/previous-versions/ 一般就Cuda 10.0的话,pytorch得是1.0.0以上 2020-02-10 ML框架 #Tensorflow #Pytorch
关于Include 在C/C++中,include本质上就是将代码代入,约定俗成的方法: 头文件.h:声明,引用其他文件的时候只需引入头文件,编译器会基于声明在源代码的编译结果中找到定义。如果在头文件中做了定义,可能会出现重复定义的报错,比如A头文件做了定义,B引用A,C既引用B又引用A,则会出现重复定义。 源代码.cpp:编译阶段所有.cpp文件都会被编译,编译器查找声明,在源代码中找到定义。 值得注意的是,由 2020-01-19 编程开发 > C++
各语言对象和变量的关系 变量和对象任何语言都是由变量和对象组成的。 变量和对象可能是存在一块的(变量代表内存,内存存放的的是对象二进制),也可能是分开存的,这种情况就是对象存放在其他内存,而变量存放的是那块内存的地址。 具体方式在不同语言中有很大区别,不同语言在底层可能做了很多优化,例如JVM的栈变量共享等。 12int a = 3;int b = 3; 对于上述代码,C++的话就是分配了两个值类型变量在不同栈空间,同时 2020-01-07 编程开发
JAVA堆和栈内存 Java把内存分成两种,一种叫做栈内存,一种叫做堆内存: 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配 堆内存用于存放由new创建的对象和数组 栈中的变量指向堆内存中的变量,这就是 Java 中的指针! 2020-01-07 编程开发 > Java
Tensorflow2.0的几个变动 1. 原来API的变动原先v1.0的诸多API都是发生了变动或者删除: 删除了tf.variable_scope, tf.get_variable tf.layer弃用,高层api统一用tf.keras 原先一些api也都不要用了,目前可以用tf.compat.v1.*来代替,但是只维护一年。 2. 动态图机制 Eager execution作为默认工作模式 Eager Executio 2019-11-18 ML框架 #Tensorflow
损失函数之交叉熵和MSE 一般神经网络都是用交叉熵,回归问题用MSE,分类问题用交叉熵。 网友分析了一下,发现MSE对梯度有个不友好的地方,有时候误差越大,梯度越小,而交叉熵是正比的。 MSE : $A^2 * (1-A)$ cross entropy : A 另外,一般推动神经网络BP算法的时候,用的都是MSE,如果用cross entry和softmax的话,会比较复杂一点。 2019-11-18 机器学习
word2vec详解 世界级解释博客:https://blog.csdn.net/a819825294/article/details/52438625 cbow和skip-gram的原理解析,hierarchical softmax / negative sampling, gradient descent derivation for each one. 2019-11-04 自然语言处理 #word2vec
关于阻塞非阻塞,同步异步的最好解释 还是不同层次的问题……一个网络包从应用程序A发到另一台电脑上的应用程序B,需要经历: 从A的业务代码到A的软件框架 从A的软件框架到计算机的操作系统内核 从A所在计算机的内核到网卡 从网卡经过网线发到交换机等设备,层层转发,到达B所在计算机的网卡 从B所在计算机的网卡到B所在计算机的内核 从B所在计算机的内核到B的程序的用户空间 从B的软件框架到B的业务代码 这个层级关系就像是过程调用一样,前 2019-10-17 编程开发 > Java #并发