分类
NAS专区 云计算 综合技术

Linux搭建samba私有云存储服务器

如今,我们需要在硬盘中存储大量的数据,尤其是存储用于机器学习的数据集。通常来讲,如果有一份数据,需要让多台计算机都能够访问,但是某些计算机由于硬盘存储空间不足,不能够拷贝一份副本在本地存放,或者为了节省总体的存储空间占用,或者为了当其中一些内容发生改变时,所有的计算机都能够获取到更新,那么,我们可以通过在其中一台计算机上搭建私有云存储服务器集中存储数据,并通过高速内网(通常使用千兆网络)互联,使得每一台计算机对其的访问都与本地存储无异。

分类
ASRT Python学习

为Keras包装一个线程安全的数据生成器

我们在使用Keras训练深度学习模型时,往往不能一次将数据全部加载进内存中,那样会导致内存不足的问题。包括Keras在内的深度学习框架提供了动态数据加载的模式,也就是说,需要使用到哪些数据时,才会加载哪些数据,而Keras需要我们自己定义一个数据生成器,并通过多线程的机制调用我们传入的数据生成器,克服硬盘的IO速度瓶颈,以实现数据的动态加载。

分类
操作系统原理

通过同步和加锁解决多线程的线程安全问题

在计算机多线程编程中,线程之间的安全问题是很重要的,它不仅关系到所需要的功能能否正确地实现,还关系到算法运行结果的稳定性等问题。当在多线程编程时,或者使用到的软件框架是具有多线程运行功能的时候,一名训练有素且技术过硬的合格程序员是会考虑程序在多线程环境下运行时的线程安全问题的,尤其是在多个线程间存在共享的资源的情况下。博主最近在使用Keras框架做深度学习训练的时候,就遇到了这样的问题,多线程时,Python的普通生成器会遇到异常。本文主要介绍两种实现多线程之间线程安全的方案,同步和加锁。

分类
综合技术

邮件礼仪

写好一封电子邮件不是一件随意的事情,即使它很简单。很多人不注意这方面的问题,类似于见字如见人,一封规范有礼仪的电邮能够给自己争得一个较好的第一印象。写电子邮件我们需要注意邮件的礼仪问题,本文我们来探讨一下,写电子邮件我们要注意哪些问题,如何写一封符合邮件规范和礼仪的电子邮件。

分类
综合技术

如何使用GitHub

我们作为天天搞计算机的,应该都听说过GitHub吧,不过可能很多人并不知道它可以用来做什么和怎么使用,今天,我将在这里做一个入门教学,希望大家人人都会用GitHub,都能用好GitHub。

分类
机器学习及应用

深度学习:欠拟合问题的几种解决方案

我最近做深度学习在连续中文语音识别方向的应用的时候,根据一些论文和网上一些公开代码和模型结构,设计了一个神经网络的模型。但是在训练的时候,就首先遇到了很让人头疼的欠拟合问题。神经网络欠拟合的特征是,训练了很长时间,但是在训练集上,loss值仍然很大甚至与初始值没有太大区别,而且精确度也很低,几乎接近于0,在测试集上亦如此。且先不管模型结构配置的优劣,就欠拟合问题来说,需要从如下方面来着手。

分类
程序设计 综合技术

并行计算入门:mpich的安装与测试

在很多应用场景下,我们普遍需要进行并行计算,而不仅仅是并发。举个例子,比如机器学习中,我们常常使用GPU来并行训练神经网络;在例如Hadoop这种大数据计算平台等分布式系统中,不同的计算机之间,程序的执行也是并行的;同一台计算机中,多核处理器的不同CPU内核之间的计算也是并行的,系统可以此来均衡负载以及提高速度。那么,当我们有需要的时候,也可自己通过编写并行程序来进行计算,以实现我们所需要的功能,MPI就是这样的一个框架。

分类
操作系统原理 程序设计

进程间通信的五种方式原理及代码实现

在计算机系统中,进程之间有时需要进行数据的通信,但是不同进程之间的数据存储是相互隔离的,每一个进程只能访问自己占有的数据,这时候,我们就需要使用用于进程间通信的机制了。不过,除了套接字外,进程间通信的前提是两进程必须是父子进程关系,没有这种关系的进程间不能直接进行通信,而是需要利用其共同的父进程进行信息的中转。文本为计算机专业学生和从业者必学的基础知识。

进程间有以下几种通信机制:

分类
机器学习及应用

TensorFlow学习笔记:相关API

本文为我学习著名机器学习框架TensorFlow的过程中,对我通过一些教学资料所学到知识的笔记。本文也许看起来会跟一些教程有些相似,这实为我阅读观看实践后,对其内容进行的记录。

鉴于相关内容较多,我将在接下来对本文进行持续更新,直到本文所应当涉及的内容范围全部覆盖为止。

(20180317 最后更新)

分类
Python学习

python实现socket通信

python可以用来实现两个主机进程之间的TCP通信,就是通过使用socket套接字来实现的,我们可以基于此,来实现一些应用层协议,以达到不同主机之间的进程通信的目的。这一点,除了普通的网络应用程序(如聊天工具和游戏等)之外,在分布式系统中,也有着很大的用途,比如机器学习需要在多台计算机中进行并行计算的时候。

服务器/客户机模型(C/S模型)如图:

TCP服务器/客户端模型