Linux c/c++ 技巧总结

技术blog

C语言结构体里的成员数组和指针
https://coolshell.cn/articles/11377.html
Linux系统中“动态库”和“静态库”那点事儿
http://blog.jobbole.com/107977/
C++中new与malloc的10点区别
https://blog.csdn.net/linux_ever/article/details/50533149

book

高质量C++/C编程指南
https://yq.aliyun.com/articles/4864?spm=5176.100239.yqblog1.18.gKW5LN

动态库的使用

动态链接

这个比较常用,保证ldd时候可以找到对应的so,告诉连接器在哪找需要链接的so

动态加载

依赖linux的API,dlfcn.h中的几个方法dlerror、dlopen、dlsym、dlclose
dlopen中的filename:如果名字不以“/”开头,则非绝对路径名,将按下列先后顺序查找该文件。

  1. 用户环境变量中的LD_LIBRARY值
  2. 动态链接缓冲文件/etc/ld.so.cache
  3. 目录/lib,/usr/lib

flag表示在什么时候解决未定义的符号(调用)。取值有两个:

  1. RTLD_LAZY : 表明在动态链接库的函数代码执行时解决。
  2. RTLD_NOW :表明在dlopen返回前就解决所有未定义的符号,一旦未解决,dlopen将返回错误。

具体示例:

#include <dlfcn.h>
#include <stdlib.h>
#include "my_so_test.h"

void (*fn)();
int main() {
    void *handle = dlopen("./libtest.so", RTLD_LAZY);
    const char *err = dlerror();
    if (err != NULL) {
        perror("could not open shared object!");
    }
    fn = dlsym(handle, "testA");
    fn();
    fn = dlsym(handle, "testB");
    fn();
    dlclose(handle);
    return 0;
}

遍历目录内文件

Linux下的dirent.h头文件是专门为了获取文件夹目录内容而设计的结构体。使用示例如下:

#include <dirent.h>
#include <string.h>
#include <stdio.h>
#include <sys/stat.h>

void List(char* path, vector<string>& files)
{
    struct dirent* ent = NULL;
    DIR* pDir;
    char dir[512];
    struct stat statbuf;  
    if ( (pDir=opendir(path))==NULL )
    {
    fprintf( stderr, "Cannot open directory:%s\n", path );
        return;
    }
    while( (ent=readdir(pDir)) != NULL )
    {
        //得到读取文件的绝对路径名
        snprintf(dir, 512, "%s/%s", path, ent->d_name);   
        //得到文件信息
        lstat(dir, &statbuf);
        //判断是目录还是文件
        if ( S_ISDIR(statbuf.st_mode) )
        {
            //排除当前目录和上级目录
            if (strcmp(".",ent->d_name) == 0 || strcmp( "..",ent->d_name) == 0) 
                continue;
            //如果是子目录,递归调用函数本身,实现子目录中文件遍历
            printf( "子目录:%s/\n", ent->d_name );
            //递归调用,遍历子目录中文件
            //List(dir);
        }
        else
        {
            printf( "文件:%s\n", ent->d_name );
            files.push_back(pathName.assign(path).append("/").append(ent->d_name));
        }       
    }
    closedir(pDir);
}

书单

想买的

《Effective C++中文版》

effective C++

《numpy攻略》

numpy攻略

《Scikit-Learn与TensorFlow机器学习实用指南》

Hands-On Machine Learning with Scikit-Learn & TensorFlow

英文版的

《OpenCV 3 Blueprints》

OpenCV 3 Blueprints

《Raspberry Pi Computer Vision Programming》

Raspberry Pi Computer Vision Programming

《Web Scraping with Python - Collecting Data from the Modern Web》

Web Scraping with Python - Collecting Data from the Modern Web

深度学习调参技巧笔记

cnn技巧

南大有个哥们写了一个技巧集合,很不错,推荐给大家http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html

网络训练技巧

1:准备数据:务必保证有大量、高质量并且带有干净标签的数据,没有如此的数据,学习是不可能的
2:预处理:这个不多说,就是0均值和1方差化
3:minibatch:建议值128,1最好,但是效率不高,但是千万不要用过大的数值,否则很容易过拟合
4:梯度归一化:其实就是计算出来梯度之后,要除以minibatch的数量。这个不多解释
5:下面主要集中说下学习率
5.1:总的来说是用一个一般的学习率开始,然后逐渐的减小它
5.2:一个建议值是0.1,适用于很多NN的问题,一般倾向于小一点。
5.3:一个对于调度学习率的建议:如果在验证集上性能不再增加就让学习率除以2或者5,然后继续,学习率会一直变得很小,到最后就可以停止训练了。
5.4:很多人用的一个设计学习率的原则就是监测一个比率(每次更新梯度的norm除以当前weight的norm),如果这个比率在10-3附近,如果小于这个值,学习会很慢,如果大于这个值,那么学习很不稳定,由此会带来失败。
6:使用验证集,可以知道什么时候开始降低学习率,和什么时候停止训练。
7:关于对weight初始化的选择的一些建议:
7.1:如果你很懒,直接用0.02*randn(num_params)来初始化,当然别的值你也可以去尝试
7.2:如果上面那个不太好使,那么久依次初始化每一个weight矩阵用init_scale / sqrt(layer_width) * randn,init_scale可以被设置为0.1或者1
7.3:初始化参数对结果的影响至关重要,要引起重视。
7.4:在深度网络中,随机初始化权重,使用SGD的话一般处理的都不好,这是因为初始化的权重太小了。这种情况下对于浅层网络有效,但是当足够深的时候就不行了,因为weight更新的时候,是靠很多weight相乘的,越乘越小,有点类似梯度消失的意思
8:如果训练RNN或者LSTM,务必保证gradient的norm被约束在15或者5(前提还是要先归一化gradient),这一点在RNN和LSTM中很重要。
9:检查下梯度,如果是你自己计算的梯度。
10:如果使用LSTM来解决长时依赖的问题,记得初始化bias的时候要大一点
12:尽可能想办法多的扩增训练数据,如果使用的是图像数据,不妨对图像做一点扭转啊之类的,来扩充数据训练集合。
13:使用dropout。大的网络使用dropout,小网络使用dropout训练很慢,而且不容易收敛
14:评价最终结果的时候,多做几次,然后平均一下他们的结果。

参考资料

知乎:你有哪些deep learning(rnn、cnn)调参的经验?

Computer Vision DataSet资源列表

俗话说,“算法为王,数据为后”。巧妇难为无米之炊,可见再优秀的算法也得有数据支持。这篇就用来记录我用过的数据集,以备不时之需。

数据集汇总

http://homepages.inf.ed.ac.uk/rbf/CVonline/Imagedbase.htm
http://visionandlanguage.net/
http://riemenschneider.hayko.at/vision/dataset/

物体

INSTRE: for INSTance-level object REtrieval and REcognition

http://vipl.ict.ac.cn/isia/instre/
(中科院计算所)新的图像数据集(共计28,543幅图像,100个类),用于验证实例级对象检索、识别算法及其他机器视觉算法,如检测、不变特征和特征匹配等

LOGO图

Dataset: FlickrLogos-32

http://www.multimedia-computing.de/flickrlogos/
2011年公布的一个数据集,包含32类知名商标品牌的logo。

动植物图像

水果FIDS30: Fruit Image Data set

http://www.vicos.si/Downloads/FIDS30
2014年公布的水果图片集,包含971张图片,覆盖30种不同的水果

鲜花102 Category Flower Dataset

http://www.robots.ox.ac.uk/~vgg/data/flowers/102/index.html
牛津大学vgg组2009年搞的花卉图片,包含102类花卉8189张图片,对应标签imagelabels.mat

植物图像库

http://www.plantphoto.cn/
收录图片208万幅,1.86万种

人脸

CelebA: Large-scale CelebFaces Attributes (CelebA) Dataset

http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html
香港中文大学组2015年搞的一个最新的目前最大的人脸集,包含10177个人,202599张人脸图片,而且每张图片有5个关键点标注信息以及40个2值属性,属性包括是否带眼睛,是否在笑,是否带帽子,是不是卷发,是否年轻,性别等等,是非常珍贵的人脸数据。

WIDER FACE: A Face Detection Benchmark

http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/
香港中文大学再放大招,2015年11月又推出人脸检测标注数据库,包含32203张图片,393703张人脸。其中50%的测试数据集并没有公开标注信息。

IMDB-WIKI

https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/
有人脸位置、性别、年龄的标注信息,共52万的标注图片

CASIA WebFace Database

http://www.cbsr.ia.ac.cn/english/CASIA-WebFace-Database.html
10,575 subjects and 494,414 images

Labeled Faces in the Wild

http://vis-www.cs.umass.edu/lfw/
13,000 images and 5749 subjects

MSRA-CFW

http://research.microsoft.com/en-us/projects/msra-cfw/
202,792 images and 1,583 subjects.

MegaFace Dataset

http://megaface.cs.washington.edu
1 Million Faces for Recognition at Scale 690,572 unique people

FaceScrub

http://vintage.winklerbros.net/facescrub.html
A Dataset With Over 100,000 Face Images of 530 People.

FDDB

http://vis-www.cs.umass.edu/fddb
Face Detection and Data Set Benchmark. 5k images.

AFLW

https://lrs.icg.tugraz.at/research/aflw/
Annotated Facial Landmarks in the Wild: A Large-scale, Real-world Database for Facial Landmark Localization. 25k images.

AFW

http://www.ics.uci.edu/~xzhu/face/
Annotated Faces in the Wild. ~1k images.

3D Mask Attack Dataset]

https://www.idiap.ch/dataset/3dmad
76500 frames of 17 persons using Kinect RGBD with eye positions (Sebastien Marcel)

Audio-visual database for face and speaker recognition

https://www.idiap.ch/dataset/mobio
Mobile Biometry MOBIO http://www.mobioproject.org/

BANCA face and voice database

http://www.ee.surrey.ac.uk/CVSSP/banca/
Univ of Surrey

Binghampton Univ 3D static and dynamic facial expression database

http://www.cs.binghamton.edu/~lijun/Research/3DFE/3DFE_Analysis.html
(Lijun Yin, Peter Gerhardstein and teammates)

The BioID Face Database

https://www.bioid.com/About/BioID-Face-Database
BioID group

Biwi 3D Audiovisual Corpus of Affective Communication

http://www.vision.ee.ethz.ch/datasets/b3dac2.en.html
1000 high quality, dynamic 3D scans of faces, recorded while pronouncing a set of English sentences.

Cohn-Kanade AU-Coded Expression Database

http://www.pitt.edu/~emotion/ck-spread.htm
500+ expression sequences of 100+ subjects, coded by activated Action Units (Affect Analysis Group, Univ. of Pittsburgh.

CMU/MIT Frontal Faces

http://cbcl.mit.edu/software-datasets/FaceData2.html
Training set: 2,429 faces, 4,548 non-faces; Test set: 472 faces, 23,573 non-faces.

kaggle表情数据

https://www.kaggle.com/c/challenges-in-representation-learning-facial-expression-recognition-challenge/data
人脸表情数据集,7种表情(0=Angry, 1=Disgust, 2=Fear, 3=Happy, 4=Sad, 5=Surprise, 6=Neutral),训练集28709张图片,测试集3589张,像素48*48

人脸素描数据集

http://mmlab.ie.cuhk.edu.hk/archive/facesketch.html
606张人脸的素描和证件照的一一对应图像

汽车

KITTI Vision Benchmark

http://www.cvlibs.net/datasets/kitti/index.php
这个就厉害了,包括车载环境的机动车、非机动车、行人以及车道等多方面的标注信息。用于专业的车辆辅助驾驶的检测算法测评。

CompCars: The comprehensive cars dataset

http://mmlab.ie.cuhk.edu.hk/datasets/comp_cars/index.html

图像知识图谱

Visual Genome

https://visualgenome.org/
100K+图像,400万区域描述,170万图像问答,210万物体,180万的属性和关系,所有都映射到Wordnet Synsets

OCR

COCO-TEXT

http://vision.cornell.edu/se3/coco-text/
该数据库含63686张图像,123589个文本区域及标注(位置、手写/印刷等属性、语言、可辨识性、文本)

视频

ActivityNet

http://activity-net.org/
人类活动理解建模,200个类和2万个训练/调试/测试视频

WWW Crowd

http://www.ee.cuhk.edu.hk/~jshao/WWWCrowdDataset.html
10000个视频、8257种不同场景、超过800万帧图像。

基于dlib的人脸检测

dlib的人脸检测模块要比OpenCV的效果好一些,归功于其使用的是HOG特征。

dlib安装

在windows下我的环境是vs2013和cmake3.2,cmake版本低了会导致编译失败。下载dlib的zip包,然后解压,然后执行如下,就把c++和python的配置好了。注意其中的CMakeLists.txt文件中的OpenCV宏与新版本的OpenCV不相配,需要改成OpenCV REQUIRED,否则webcam_face_pose_ex这个与摄像头有关的模块不会执行成功。

cd examples
vim CMakeLists.txt
######################[open CMakeList.txt]
# find_package(OpenCV) -->
find_package(OpenCV REQUIRED)
######################[close CMakeList.txt]
mkdir build
cd build
cmake .. -DUSE_AVX_INSTRUCTIONS=ON
cmake --build . --config Release
cd ../../
python setup.py install --yes USE_AVX_INSTRUCTIONS # AVX为object detector的加速开关

人脸检测demo

exmaples/faces文件夹下面新建文件face_detector.py,根据官网例程添加代码:

import sys

import dlib
from skimage import io

detector = dlib.get_frontal_face_detector()
win = dlib.image_window()

for f in sys.argv[1:]:
    print("Processing file: {}".format(f))
    img = io.imread(f)
    # The 1 in the second argument indicates that we should upsample the image
    # 1 time.  This will make everything bigger and allow us to detect more
    # faces.
    dets = detector(img, 1)
    print("Number of faces detected: {}".format(len(dets)))
    for i, d in enumerate(dets):
        print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(
            i, d.left(), d.top(), d.right(), d.bottom()))

    win.clear_overlay()
    win.set_image(img)
    win.add_overlay(dets)
    dlib.hit_enter_to_continue()


# Finally, if you really want to you can ask the detector to tell you the score
# for each detection.  The score is bigger for more confident detections.
# Also, the idx tells you which of the face sub-detectors matched.  This can be
# used to broadly identify faces in different orientations.
if (len(sys.argv[1:]) > 0):
    img = io.imread(sys.argv[1])
    dets, scores, idx = detector.run(img, 1)
    for i, d in enumerate(dets):
        print("Detection {}, score: {}, face_type:{}".format(
            d, scores[i], idx[i]))

然后执行如下命令即可看到人脸检测效果:

python face_detector.py *.jpg

补充

C++环境也是一样的,执行cmake build后在examples/build目录下生成可执行文件face_detection_ex,执行

face_detection_ex ../faces/*.jpg

注意C++接口要想得到矩形框对应的置信度的话也是可以的,也可以根据置信度设置矩形框筛选的阈值,默认阈值为0,下面为两种接口的函数声明:

template <
    typename image_type
    >
std::vector<rectangle> operator() (
    const image_type& img,
    double adjust_threshold = 0
);

template <
    typename image_type
    >
void operator() (
    const image_type& img,
    std::vector<std::pair<double, rectangle> >& final_dets,
    double adjust_threshold = 0
);

dlib的人脸关键点检测

下载文件http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2解压后将shape_predictor_68_face_landmarks.dat放到examples/build目录,执行

webcam_face_pose_ex shape_predictor_68_face_landmarks.dat

mxnet学习(一) mxnet + CentOS 7安装配置

mxnet是最近DMLC那群牛人搞的一个开源的深度学习库,可以看作是cxxnet的升级版本,其中到底的美妙还是慢慢专研感受,话不多说,先跑起来看看。整个学习系列都是参考http://mxnet.readthedocs.org/en/latest/index.html学习完成的。

相关开发环境的配置

系统的检测以及python的安装都是基本的,主要依赖软件是CUDA、intel mkl以及OpenCV的安装配置,具体可以参考之前写的caffe学习(三)caffe + centOS 7 + CUDA 7配置,已经写的很详细了,这里就不再多言。mxnet不像caffe那样依赖众多的google的工具库,这一点还是必须点赞的(caffe安装坑太多了)

安装mxnet

git clone --recursive https://github.com/dmlc/mxnet
cd mxnet/make
cp config.mk config.mk.bak
vim config.mk
################# open[config.mk]
USE_CUDA = 1
USE_CUDA_PATH = /usr/local/cuda
USE_BLAS = mkl
USE_INTEL_PATH = /opt/intel/
################# close[config.mk]
cd ..
make -j4
cd python
python setup.py install
cd ..

测试mxnet是否安装ok

python example/mnist/mlp.py

caffe学习(五)fine-tuning已有模型到新数据

概述

最近试了一个新的数据集,由于每一类别训练数据较少,算法无法收敛。于是尝试使用fine-tuning,利用已有训练模型权重参数适应到新的数据集。

由于我们新的分类器与之前的分类器都采用googLeNet的框架,只是在最后一层由3000个类别增加到60000类,所以需要更改最后一层的参数,把原来的loss3/classifier层改成新名字loss3/classifier/fn,这样由于在原来的模型中找不到这层的名字,这层在训练的时候会用随机变量赋初始值重新训练。

由于原来模型已经收敛,在fine-tuning时候要把base_lr更新学习率降低,同时增加blobs_lr在新的层上,让其他层的参数在新数据来的时候慢点更新,同时让新的层快速学习。同时stepsize参数也适当减少,从而让学习率下降的更快一些。

具体步骤

数据准备

这个没啥好说的,将新的训练数据分为train和valuation集,然后转换成lmdb格式,然后得到其均值文件,准备完毕。

train_val.prototxt

  • data-layer里的train和test均值文件和训练数据源要设置正确
  • loss1/classifier-layer层的name改为loss1/classifier/fn,top参数loss1/classifier/fn,lr_mult参数乘10倍,由原来的1和2改为10和20,num_output改为60000
  • loss1/loss的softmax层的bottom参数改为loss1/classifier/fn
  • loss1/top-1的accuracy层的bottom参数改为loss1/classifier/fn
  • loss1/top-5的accuracy层的bottom参数改为loss1/classifier/fn
  • 上述4个步骤的参数修改同时也要应用到loss2和loss3层中

solver.prototxt

  • test_initialization这句屏蔽掉
  • gamma改为0.1
  • weight_decay改为0.0005
  • base_lr参数降低10倍,改为0.001,这个改动最为重要

deploy.prototxt

  • loss3/classifier-layer层的name改为loss1/classifier/fn,top参数loss1/classifier/fn,lr_mult参数乘10倍,由原来的1和2改为10和20,num_output改为60000
  • prob的softmax层的bottom参数改为loss1/classifier/fn

调用接口

../../build/tools/caffe train --solver=solver.prototxt -weights sku3081_googlenet_quick_iter_900000.caffemodel -gpu 2

caffe学习(四)caffe的接口参数说明

caffe接口参数

C接口

train相关参数

  • -solver参数(必须有),与solver.prototxt文件一起使用
  • -snapshot参数(可选),通常用来从之前训练一半的模型xxx.solverstate继续训练使用
  • -weights参数(选填),与训练好的model.caffemodel一起使用,用来在fine-tuning的时候初始化参数
  • -gpu参数,用来选择使用GPU,根据nvidia-smi的GPU的ID选择,比如选择第三块GPU就使用-gpu 2的参数,如果想使用所有的GPU一起跑一个程序,就使用-gpu all

举个例子

# train LeNet
caffe train -solver examples/mnist/lenet_solver.prototxt
# train on GPU 2
caffe train -solver examples/mnist/lenet_solver.prototxt -gpu 2
# resume training from the half-way point snapshot
caffe train -solver examples/mnist/lenet_solver.prototxt -snapshot examples/mnist/lenet_iter_5000.solverstate
# fine-tune CaffeNet model weights for style recognition
caffe train -solver examples/finetuning_on_flickr_style/solver.prototxt -weights models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel

test、time相关参数

  • -iterations迭代次数,time的时候测试的次数,默认为50次
  • -model测试时候选择加载的模型,对应train_val.prototxt或者deploy.prototxt一起使用

举个例子

# score the learned LeNet model on the validation set as defined in the
# model architeture lenet_train_test.prototxt
caffe test -model examples/mnist/lenet_train_test.prototxt -weights examples/mnist/lenet_iter_10000.caffemodel -gpu 0 -iterations 100
# time a model architecture with the given weights on the first GPU for 10 iterations
caffe time -model examples/mnist/lenet_train_test.prototxt -weights examples/mnist/lenet_iter_10000.caffemodel -gpu 0 -iterations 10

device_query相关参数

这个模块用来查看多GPU时候的一些显卡相关信息。举例

# query the first device
caffe device_query -gpu 0

python接口

通过import caffe来加载caffe模块,几个比较重要的模块caffe.Net, caffe.SDGSolver, caffe.io, caffe.draw

caffe学习(三)caffe + centOS 7 + CUDA 7配置

这次全程记录centOS 7 的配置安装过程

开发环境

虽然它这么好用,安装它可不是一个省心的事,最好的参考资料还是官网安装资料http://caffe.berkeleyvision.org/installation.html,配置之前先查看一下自己的软硬件环境

dns配置

google之,不多介绍,注意centos 7的dns设置与之前的版本不同

查看显卡

我们的显卡是K40(没显卡也能玩caffe),可以看到是4个k40m显卡。。。。我口水直流(@ο@)

lspci |grep -i nvidia

查看linux版本

Linux服务器版本是centOS 7,查看服务器系统版本命令

cat /etc/redhat-release

安装python

python2.7升级到Anaconda版本Anaconda-2.3.0-Linux-x86_64.sh下载后直接运行即可,numpy,scipy,scikit-learn等相关软件就都配置好了。记得生效一下环境变量source ~/.bashrc。Anaconda直接把python升级到2.7版本,同时安装好了所有相关依赖包,简直完美啊,解决了python多版本共存的问题,同时一键安装python和相关插件,并且配置好了相关环境变量,同时还是64位版本的python,强烈推荐。

安装cmake

再把cmake升级到2.8.12版本,centos 7 的yum只能升级到2.8.11版本

# 先安装依赖
yum install gcc
yum install gcc-c++
# 下载安装包
tar xvf cmake-2.8.12.1.tar.gz
cd cmake-2.8.12.1/
./configure
make
make install
vim /etc/profile
###########[profile末尾添加]
PATH=/usr/local/cmake/bin:$PATH
export PATH
#############关闭文件
source /etc/profile
########查看是否安装好
cmake --version

安装CUDA和MKL

这两个商用软件安装相对容易

CUDA 7

下载CUDA 7https://developer.nvidia.com/cuda-downloads

yum install kernel-devel
init 3         # 关闭GUI
./cuda_7.0.28_linux.run
init 5         # 开启GUI
vim /etc/profile
#############[profile]
export PATH=$PATH:/usr/local/cuda-7.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.0/lib64
#############[close profile]
source /etc/profile

PS:目前我只在CentOS 7.0配置成功,在7.1和7.2版本会出现如下错误导致CUDA安装失败这里记录一下网上的解决方案:显卡驱动安装不成功,解决方法,先卸载系统已载入的显卡相关模块,同时指定kernel-source-path的路径,如下

lsmod |grep nouveau # 发现存在相关模块
modprobe -r nouveau # 卸载相关模块
./cuda_7.0.28_linux.run --kernel-source-path="/usr/src/kernels/03.10.0-xxxxxx"

根据caffe的官方最新提示,CUDA和显卡驱动最好分开安装,不然CUDA自带的显卡驱动不是最近版本,可能使用的时候会出问题,先装显卡驱动,去官网下载http://www.nvidia.com/download/driverResults.aspx/92135/en-us

vim /lib/modprobe.d/dist-blacklist.conf
########################[change]
#blacklist nvidiafb #注释掉nvidiafb,否则cuda安装报错nvidia.ko
########################[close]
vim /etc/modprobe.d/blacklist-nouveau.conf
########################[added]
blacklist nouveau
options nouveau modeset=0
########################[close]
dracut --force
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)

init 3和init 5在最新的centOS里并不生效,取而代之的是graphical.target(5)和multi-user.target(3)。

systemctl get-default #查看运行级别
systemctl set-default multi-user.target #切换为文本模式
reboot
./NVIDIA-XXXX.run --kernel-source-path=/usr/src/kernels/内核号 -k $(uname -r) #最后面的-k参数是可以解决bug: unable to load the kernel module 'nvidia.ko'

接下来,验证CUDA是否安装好

nvcc -V     # 验证nvidia-CUDA-Toolkit是否安装好
cd ~/NVIDIA_CUDA-7.0_Samples
make
cd bin/x86_64/linux/release
./deviceQuery

从输出的信息就可以判断是否安装好CUDA

intel MKL

下载intel MKL,解压后执行

tar xzvf parallel_studio_xe_2015.tgz
cd parallel_studio_xe_2015
./install.sh
# 偷偷记录一下自己的序列号SGZG-6NRGK57H
vim /etc/ld.so.conf.d/intel_mkl.conf
###############[intel_mkl.conf]
/opt/intel/mkl/lib/intel64
###############[close intel_mkl.conf]
ldconfig
vim /etc/profile
############[profile]
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/mkl/lib 
# 或者直接把/opt/intel/mkl/lib copy到/usr/local/lib
############[close profile]
source /etc/profile

依赖库安装

Install protobuf

protobuf是谷歌开发的一种实现内存外存交换的协议接口,在这个统一的通讯协议下不同开发者可以使用自己喜欢的方式进行模型参数的管理。
上网下载protobuf2.6.1版本, anaconda的python对应的依赖包要求protobuf是2.6.1版本,弄错了是不行的。解压后,

yum install autoconf automake libtool
tar xzvf protobuf-2.6.1.tar.gz
cd protobuf-2.6.1
./autogen.sh
./configure
make
make check
make install

或者直接pip install protobuf,发现版本刚好也是2.6.1

Install boost

anaconda没有包含boost,anaconda要求的boost版本为1.57

# download boost_1_57_0.tar.bz2
tar xvf boost_1_57_0.tar.bz2
cd boost_1_57_0
./bootstrap.sh
./b2
./b2 install

Install leveldb

pip install leveldb
# git clone https://github.com/google/leveldb.git
# cd leveldb/
# make
# cp -d out-shared/libleveldb* /usr/lib/
# cp -r include/leveldb/ /usr/local/include

Install snappy

yum install snappy发现centos7 已经给安装好了

Install lmdb

pip install lmdb

Install hdf5

下载hdf5

tar xvf hdf5-1.8.5-patch1.tar
cd hdf5-1.8.5-patch
./configure --prefix=/opt/hdf5
make
make check
make install
make check-install
vim /etc/profile
############[profile]
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hdf5/lib
# 或者直接把/opt/hdf5/lib copy到/usr/local/lib
############[close profile]
source /etc/profile

其他依赖库

其他依赖库按照官网说法,先试了一遍

yum install snappy-devel opencv-devel boost-devel
yum install python-devel
yum install protobuf-devel leveldb-devel hdf5-devel # 这几个包不行
yum install gflags-devel glog-devel lmdb-devel # 这几个包也不行

关于gflags, glog, lmdb的解决方案,官网给出了

# glog
wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure
make && make install
# gflags
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make && make install
# lmdb
git clone https://github.com/LMDB/lmdb
cd lmdb/libraries/liblmdb
make && make install

补充一下,上面的配置有可能编译caffe的时候出现如下报错:error while loading shared libraries: libgflag.so.0,要在gflag的cmake的时候使用如下参数

cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON -DGFLAGS_NAMESPACE=google -G"Unix Makefiles" ../

如果报错为error while loading shared libraries: libglog.so.0,则要增加如下设置

cat /etc/ld.so.conf  
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig

但是有几个包是不行的,protobuf-devel, leveldb-devel, hdf5-devel找不到
刚才已经下载protobuf, leveldb, hdf5, 暂时先不管这几个devel了

安装OpenCV

安装了这么多年OpenCV,头一次遇到这么大坑,先尝试了大家推荐的shell一键安装

git clone https://github.com/jayrambhia/Install-OpenCV
cd Install-OpenCV-master/RedHat
./opencv_latest.sh

要注意downloading ippicv_linux_20140513.tgz的时候耗时很久,要耐心等待。
但是在编译caffe的时候还是报错,回来重新安装opencv2.4.11

cd ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
make
sudo make install

执行python模块

yum install opencv-python

测试python下import cv2检测是否安装成功(自带的python已经配置好opencv,anaconda不能import cv2),解决办法如下:

cp /usr/local/lib/python2.7/site-packages/cv2.so /root/anaconda/lib/python2.7/site-packages
cp /usr/local/lib/python2.7/site-packages/cv.py /root/anaconda/lib/python2.7/

安装caffe

进入到caffe的工作目录

git clone https://github.com/BVLC/caffe
cd caffe
cp Makefile.config.example Makefile.config
vim Makefile.config
###############[Makefile.config]
BLAS := mkl

PYTHON_INCLUDE := /root/anaconda/include/python2.7 \
    /root/anaconda/lib/python2.7/site-packages/numpy/core/include/ \
PYTHON_LIB := /root/anaconda/pkgs/python-2.7.10-0/lib
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include \
        /opt/hdf5/include \
        /opt/intel/mkl/include \
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib \
        /opt/hdf5/lib \
        /opt/intel/mkl/lib \
###############[close Makefile.config]
make all -j8
make test -j8
make runtest -j8

-j8选项可以提高编译速度,不是必须的,如果在runtest时候一片绿色,没报错,恭喜,说明caffe已经配置好了,可以愉快的使用了。
实测solverTest会fail,由于是Test模块,先不理会,估计是caffe的代码版本没统一,不影响使用

测试MNIST

进入到caffe根目录下,执行如下操作

./data/mnist/get_mnist.sh               # 下载minst数据库
./examples/mnist/create_mnist.sh        # 把数据转成lmdb格式
./examples/mnist/train_lenet.sh         # 训练mnist

从输出结果看到,test集上得到99.2%的正确率,还是很不错的。

其他说明

pycaffe配置

make pycaffe

编译成功了,简直酸爽。
最后配置一下环境变量,~/.bashrc添加

export PYTHONPATH=/xxxxxxxxx/caffe/python:$PYTHONPATH

python环境下

import caffe

检测caffe-python是否配置好

cuDNN

tar xzvf cudnn-7.0-linux-x64-v3.0-rc.tgz
cd cuda
cp include/* /usr/local/cuda/include
cp -d lib64/* /usr/local/cuda/lib64        # -d 保留link file的属性

在caffe根目录的Makefile.config中把USE_CUDNN := 1的屏蔽取消,然后make all即可。

Linux多用户管理

为了创建一个用户组,并把工作成员都加到这个组,并提升用户sudo权限,提升权限的时候记住最前面的%非常有用,加上才能对组生效,最后设置组内成员能够相互访问彼此目录

groupadd imgergroup
useradd -g imgergroup imger1
passwd imger1
vim /etc/sudoers
######################[sudoers]
%imgergroup       ALL=(ALL)       ALL
######################[close]
cd /home
chmod -R +r *

caffe学习(二)用自己的数据训练模型

数据准备

整理、去重

将图片文件按照类别放入不同的文件夹下面,同时去掉相同文件夹下的相同图片

打tag

将图片数据按8:1:1的比例分成train,val,test三个子集,并产生“文件路径 标签”的标签数据,如下

../data/train_img/104166241/143088862023832744.jpg 0
../data/train_img/104166241/143088862023832435.jpg 0
../data/train_img/121391188/142096822616212389.jpg 1

生成lmdb数据库文件

copy一份examples/imagenet/create_imagenet.sh文件并修改其中EXAMPLE、DATA、TOOLS、TRAIN_DATA_ROOT、VAL_DATA_ROOT的对应路径,并且修改RESIZE=true,因为我们的训练图片要归一化到256*256,我的修改如下

EXAMPLE=.
DATA=.
TOOLS=../build/tools

TRAIN_DATA_ROOT=./
VAL_DATA_ROOT=./

RESIZE=true

最后把其中的脚本语句中的convert_imageset命令中的标签文件改为自己的文件名(train.txt、val.txt),然后执行

./create_db.sh

生成均值文件

copy一份examples/imagenet/make_imagenet_mean.sh文件并修改其中的EXAMPLE、DATA、TOOLS路径位置,以及命令compute_image_mean中的训练数据集的路径和保存的均值文件的路径文件名,然后执行

./make_db_mean.sh

模型参数调整

选择一个模型,这里选择GoogleNet,将models/bvlc_googlenet中的solver.prototxttrain_val.prototxt复制到新文件夹下。

train_val.prototxt文件

  • 修改输入layer中的TRAIN source和TEST中的source到自己的数据库路径
  • 同时注意一下其中的batch_size参数,决定每次迭代送多少图片去训练
  • googleNet有3个弱分类器,修改3个最终的loss1/classifier层中的num_output为我们样本的实际类别数,imageNet类别为1000

solver.prototxt文件

  • test_iter按照caffe官方的推荐,应该满足batch_size * test_iter = val子集的数据数,比如有1万张验证集图片,batch_size是50,那么test_iter应该设置为200左右。
  • test_interval决定多次训练迭代后测试一次,由于googleNet每次迭代较快,设置为2000比较合适,大概半个小时test一次
  • display参数决定多少次迭代显示一次,由于googleNet每次迭代较快,这里我设置为100
  • stepsize决定多次次迭代后减少学习率,应该和max_iter最大迭代次数综合考虑
  • snapshot决定多次次迭代后保存一次模型
  • snapshot_prefix是保存的模型文件名
  • solver_mode是用GPU还是CPU
  • lr_policy: 这个参数可以选的参数如下:
    • fixed : lr永不变
    • step : lr = baselr * gamma^(iter/stepsize)
    • exp : lr = baselr * gamma^iter
    • inv : lr = baselr (1+gammaiter)^(-power)
    • multistep : 直接写iter在某个范围内时lr应该是多少,自定义学习曲线
    • poly : lr = baselr * (1 - iter/maxiter)^power
    • sigmoid : lr = baselr (1 / (1 + e^(-gamma(iter-stepsize))))
  • iter_size这个参数很有意思,可以控制train的时候,做多少次batch_size才计算一次梯度,也就是iter_size * batch_size。这个参数当网络很大,显存不够用,又想增大batch_size时候就非常给力

其他参数都是模型参数学习的相关参数,决定了模型的初始值和收敛速度,暂时先不调节

训练

简单,执行

../build/tools/caffe train --solver=solver.prototxt

看到了terminal不停的喷log了,那酸爽,记得看一下log中的test结果,可以看到top-1/top-5的验证结果。

caffe学习(一)caffe + centOS 6.5 + CUDA 6.5配置

caffe应该是当下最火的深度学习开源框架了,其性能强大,每天可以处理60M的图片(K40显卡),测试一张图片只要1ms,而且其模块都已经定义好,不需要写什么代码就能轻松调用,虽然是c++开发的却能很好的支持python,简直不能更赞。

开发环境

虽然它这么好用,安装它可不是一个省心的事,最好的参考资料还是官网安装资料http://caffe.berkeleyvision.org/installation.html,配置之前先介绍一下自己的软硬件环境

  • 显卡K20c(没显卡也能玩caffe)
  • Linux服务器版本centOS6.5(版本有点低,这有点坑,系统自带的python是2.6版本,cmake是2.6版本,这都给安装带来了不便,由于是服务器没得选,只能硬着头皮上了,而且网上多是基于Ubuntu系统的配置,所以更要把安装过程记录一下)
  • python升级到2.7版本,再把cmake升级到2.8版本,我都是下载的源代码安装的,要注意的是安装好之后还要将原来版本移除掉并链接到新版本,如下

    mv /usr/bin/python /usr/bin/python_old
    ln -s /usr/local/bin/python2.7 /usr/bin/python

  • 安装numpy1.9.2版本,也是官网源代码

安装CUDA和MKL

我使用的是CUDA 6.5版本,并且通过edu邮箱申请了一个MKL的student版本。这两个都是商业软件,问题比较少,安照网上的资料很容易就配置好了。

依赖库安装

按照官网说法,先试了一遍

sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel

但是有几个包是不行的,protobuf-devel, leveldb-devel, hdf5-devel找不到,由于我服务器版本比较低,boost和boost-devel都只有1.41版本,注意要把boost也升级一下。protobuf是谷歌开发的一种实现内存外存交换的协议接口,再这个统一的通讯协议下不同开发者可以使用自己喜欢的方式进行模型参数的管理。

首先先把protobuf, leveldb, hdf5, boost高级版本的tar包下载下来解压并用make和make install安装起来,然后下载其分别对应的devel的rpm安装,并通过rpm命令安装:

rpm -i xxx.rpm

安装OpenCV

安装了这么多年OpenCV,头一次遇到这么大坑,先尝试了大家推荐的shell一键安装

git https://github.com/ouxinyu/Install-OpenCV-master
cd Install-OpenCV-master/RedHat
./opencv_latest.sh

看上去一切很美,但是执行downloading ippicv_linux_20140513.tgz这个文件的时候就怎么都过不去了,没能解决,于是还是乖乖的安装官网的教程去下载了一个OpenCV 2.4.9的tar解压安装,安装过程也是安装OpenCV官方的教程来的,但是由于要使用其中的GPU模块,原本预想很顺利的安装过程出了error,查了资料发现是OpenCV的bughttp://code.opencv.org/issues/3814,拷贝文件NCVPixelOperations.hpp替换掉源文件,重新build make,搞定

cd ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

cd ..
make
sudo make install

安装caffe

复制一个配置文件先

cp Makefile.config.example Makefile.config

把里面的CPU_ONLY,BLAS,PYTHON_DIR目录都按照情况配置好,然后执行

make all -j8
make test -j8
make runtest -j8

-j8选项可以提高编译速度,不是必须的,如果在runtest时候一片绿色,没报错,恭喜,说明caffe已经配置好了,可以愉快的使用了。

测试MNIST

进入到caffe根目录下,执行如下操作

./data/mnist/get_mnist.sh               # 下载minst数据库
./examples/mnist/create_mnist.sh        # 把数据转成lmdb格式
./examples/mnist/train_lenet.sh         # 训练mnist

从输出结果看到,test集上得到99.2%的正确率,还是很不错的。

其他说明

pycaffe配置

  • 由于我这里python没配置好,所以make pycaffe没能通过,有待解决。
    解决方案,下载Anaconda-2.3.0-Linux-x86_64.sh,下载后运行,
    直接把python升级到2.7版本,同时安装好了所有相关依赖包,简直完美啊,,解决了python2.6和2.7共存的问题,同时一键安装python和相关插件,并且配置好了相关环境变量,同时还是64位版本的python,强烈推荐。
    修改Makefile.config中和python相关内容

    PYTHON_INCLUDE := /root/anaconda/include/python2.7 /root/anaconda/lib/python2.7/site-packages/numpy/core/include/
    PYTHON_LIB := /root/anaconda/pkgs/python-2.7.10-0/lib
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

执行

make pycaffe

编译成功了,简直酸爽。
最后配置一下环境变量

export PYTHONPATH=/root/caffe_test/caffe/python:$PYTHONPATH

python环境下

import caffe

报错信息

from ._caffe import Net, SGDSolver
ImportError: /usr/local/lib/libboost_python.so.1.58.0: undefined symbol: PyUnicodeUCS2_FromEncodedObject

anaconda只差boost没有包含,而是我安装的boost版本1.58跟anaconda要求的1.57版本,重新安装一遍boost 1.57

# download boost_1_57_0.tar.bz2
tar xvf boost_1_57_0.tar.bz2
cd boost_1_57_0
./bootstrap.sh
./b2
./b2 install /usr

记得安装完boost一定要yum install boost-devel一下(血和泪的教训)
出现新的错误,说no module name google.portobuf,重新安装protobuf和protobuf-devel并没有解决这个问题,上网上重新下载protobuf2.6.1版本,弄错了是不行的。解压后,

./autogen.sh
./configure
make
make check
make install

出错loading shared libraries: libprotobuf.so.8: cannot open shared object file: No such file or directory,此时应该是连接出错
locate libprotobuf.so.9 看下libprotobuf.so.9的确存在/opt/protobuf/lib下面

cd /etc/ld.so.conf.d/
vi protobuf.conf   # protobuf.conf中只要加入一行: /opt/protobuf/lib
ldconfig

安装protobuf的python模块

cd python
python setup.py build
python setup.py test
python setup.py install

python setup.py build的过程中可能报几个错,然而没关系,我们并不需要所有的protobuf的模块,配置pycaffe最重要的就是注意anaconda和依赖包版本的对应,boost要求1.57版本,protobuf是2.6.1版本,弄错了是不行的。

  • cuDNN的加速模块也没有安装测试一下,有空再配置一下。

单反拍摄入门

单反相机拍摄入门技巧,各种环境拍摄参数设置
大部分人之所以踏上摄影之路,几乎部是被单反相机及其附件的魅力所吸引。它完美神奇,使我们如获至宝,珍爱之极。我们通过它观察、取景、测光、测距、调焦,然后一按快门,“咔嗒”一声——瞬间的艺术就诞生了! 甚至,不管单反相机多么昂贵,我们总是心甘情愿地增加投入。因此,经常留意各种广告,研究哪家商店出售什么产品,价格如何。我们凝视着照相器材商店的橱窗,宛如一个孩子驻足于玩具商店门前。我们还常常和摄影同伴们比镜头等等,体验着“我的比你的大”那种自我满足的心情。摄影家们常有这样一句话 “开始我们不过迷上了单反相机这个尤物, 而结果却爱上了摄影这门艺术。”

方法/步骤

1.光圈优先大多用在拍人像以及风景时。

光圈优先就是手动定义光圈的大小,相机会根据这个光圈值确定快门速度。由于光圈的大小直接影响着景深,因此在平常的拍摄中此模式使用最为广泛。在拍摄人像时,我一般采用大光圈长焦距而达到虚化背景获取较浅景深的作用,这样可以突出主体。同时较大的光圈,也能得到较快的快门值,从而提高手持拍摄的稳定。在拍摄风景这一类的照片时,我往往采用较小的光圈,这样景深的范围比较广,可以使远处和近处的景物都清晰,同样这一点在拍摄夜景时也适用。

2.快门优先多用于拍摄运动的物体上

例如体育运动、行使中的车辆、瀑布、飞行中的物体、烟花、水滴等等。与光圈优先相反,快门优先是在手动定义快门的情况下通过相机测光而获取光圈值。快门优先多用于拍摄运动的物体上,特别是在体育运动拍摄中最常用。很多朋友在拍摄运动物体时发现,往往拍摄出来的主体是模糊的,这多半就是因为快门的速度不够快。在这种情况下你可以使用快门优先模式,大概确定一个快门值,然后进行拍摄。并且物体的运行一般都是有规律的,那么快门的数值也可以大概估计,例如拍摄行人,快门速度只需要1/125秒就差不多了,而拍摄下落的水滴则需要1/1000秒。

3.人像拍摄。

首先,要用到长焦,3――4倍的长焦非常适合拍人像,广角端会使得人像有些变形,不好看,超过4倍甚至更长焦会使得人脸过于扁平,不够生动。
其次,光圈优先,选择大光圈,大光圈可以使得快门变快,减少晃动,并且使得背景尽可能的虚化。最好选择点测光,对人脸点测光,并使用曝光锁定。因为其他测光方式容易受到衣服颜色的影响,使得人脸曝光不正常。
最后,构图。人像最好占到1/3-1/2,并且脸部在上方1/3处(从下看是处)。这样拍出的人像片就会生动,有视觉的冲击力,让人看着好看。

4.怎样拍好微距。

拍好微距,需要用光、构图讲究技巧。我们要掌握的是怎么把微距拍清楚,不要拍糊呢?注意以下两点就行了。首先,用三角架。手持不稳,放大之后总看到片糊,所以第一条,用三角架。其次,用自拍机。我们发现,即使用架,在按动快门时仍然带入了晃动,最好的办法,启动自拍机

5.曝光补偿的使用。

按动+ -键,就会出现曝光补偿调节条,左右键调整正负补偿及大小,一次1/3级。调整好后再按一次+ -键确定。那么,曝光补偿怎么应用呢?总起来讲,是白加黑减,白的环境下,测光有偏低的状况,需要增加,反之亦然。

  1. 拍摄环境比较昏暗,需要增加亮度,而闪光灯无法起作用时,可对曝光进行补偿,适当增加曝光量。
  2. 被拍摄的白色物体在照片里看起来是灰色或不够白的时候,要增加曝光量,简单的说就是“越白越加”,这似乎与曝光的基本原则和习惯是背道而驰的,其实不然,这是因为相机的测光往往以中心的主体为偏重,白色的主体会让相机误以为很环境很明亮,因而曝光不足,这也是多数初学者易犯的通病.
  3. 当你在一个很亮的背景前拍摄的时候,比如向阳的窗户前,逆光的景物等要增加曝光量或使用闪光灯。
  4. 当你在海滩、雪地、阳光充足或一个白色背景前,拍摄人物的时候,要增加曝光量并使用闪光灯,否则主体反而偏暗。
  5. 拍摄雪景的时候,背景光线被雪反射得特别强,相机的测光偏差特别大,此时要增加曝光量,否则白雪将变成灰色。
  6. 拍摄黑色的物体,在照片里看和色变色发灰的时候,应该减小曝光量,使黑色更纯。
  7. 当你在一个黑色背景前拍摄的时候,也需要降低一点曝光量以免主体曝光过度。
  8. 夜景拍摄,应该关闭闪光灯,提高曝光值,靠延长相机的曝光时间来取得灯火辉煌的效果,很多人感觉夜景拍摄能力很差,其实没有正确使用相机的曝光方法是重要原因之一。
  9. 阴天和大雾的时候,环境仍然是明亮的,但是实际物体的照度明显不足,如果不加曝光补偿则可能造成照片昏暗,适当的曝光补偿,加0.3到0.7可以使得景物亮度更加自然。
    善于应用、合理使用曝光补偿,可以大大改善你的摄影作品的成功率,拍出画面清晰,亮度合适,观看舒适的照片,提高拍摄质量。

6.巧用屏幕上的网格线构图。

我们知道,的黄金分割比例能给人美感。所以安排片中的兴趣点在4个焦点上,或在分割线上,就会给人视觉的美感。网格线就方便的给我们提供了这样的参照。除了以上注意黄金点构图外,还应注意以下几点:

  1. 避免贯穿两边的直线,尤其要避免将照片分割成两部分的贯穿横线或竖线。
  2. 地平线的处理。在风光作品里,地平线是经常出现的,为避免上下分割的效果,应设法打破地平线的平直,如利用云彩、远山、日出、日落或其它建筑物。此外,地平线的位置也应安排在趣味中心的分割线上,并且CX1应保持水平(有特殊创意另当别论)。
  3. 拍摄运动的物体要给运动的前方留有一定的空间。当被摄体是运动的,观赏者的目光会习惯性地沿被摄体运动方向移动,如果运动的前方没有空间会给人压迫感。此外,通常被摄体注视的方向也应留有相对较大的空间。

7.太阳落山前或者阴天的拍摄。

白天或者夜晚,都可以得到我们想要的效果,自动白平衡很准确。但只有太阳落山前后那段时间,或者阴云天气下,拍出的片子雾朦朦,很不理想。在这种情况下,需要调节白平衡,先扳到P档开始的手动档,按功能键,选到阴天,按功能键确定。如果还仍然不理想,请设置手动白平衡。

几种现场拍摄技巧

1.怎么在室内给孩子拍片。

首先用光圈优先,将光圈调整到最大;其次布置光线,虽然不能用闪光灯,我们可以将孩子带到窗户旁比较明亮的地方,如果晚上我们可以用台灯等光;孩子常会乱动,可以考虑手动调焦,先将点测光锁定,将焦距调整好后,然后半按住快门移动步伐,等待孩子出现有趣的可爱的表情时快速按下快门。

2.怎么做才能将背景虚化

首先光圈优先,光圈调整到最大(即F后面的数值最小,比如F2.8);焦距调大,越大虚化越好;安排前景的人或物离的背景远一些,越远虚化越好;如果以上仍然不理想,可以通过后期处理的方法做的直到满意。

3.怎样给婴儿拍片。

拍摄婴儿要记住,用婴儿感兴趣的东西吸引他,可以拍摄到更自然的表情。为保护婴儿的眼睛最好不使用闪光灯,可以将调整感光度到200,并在顺光的情况下拍摄。最好把孩子抱到光线好的地方,如果天气不好,可以用台灯布光。如果一定要使用闪光灯,最好在闪光灯上蒙上一块薄纸或纱布。拍摄的距离,50厘米到150厘米为宜,最好用长焦。可以从不同角度观察孩子的脸,力求找到一个更好看的角度。

4.从旅游车中的拍摄。

我们旅行的时候,在车内的时间也是旅行的一个重要组成部分,所以也可以成为很好的拍摄时间。同样的风景,从移动的车内拍与在车外拍,往往给人不同的感觉。在行驶的车内向外拍摄的时候,要注意以下几点:

  1. 在拍摄的时候,不要把手腕架在窗框或者座位的靠背上,因为车辆在行驶中总会有些震颤,这样很容易造成和手颤一样的虚像。
  2. 不要在阳光射入的窗口边拍摄,因为这样很容易在窗玻璃上有白衣服等等的反光。你可以要求临时换一下座位,拍完之后再回来。
  3. 对于观光大巴来说,进行拍摄最合适的座位是最前面的座位。一是因为视野广,二是因为前面的玻璃经常清洗,所以最干净。而且前面的座位震颤也相对比后面的座位轻微一些。

5.为了表现毛的质感,最好使用自然光。

直射光和顺光都不容易表现质感,最好是逆光拍摄,质感是最强烈的。当阴影太强的时候,可能会需要补光。在晚上补光的时候,要注意使用红眼消除功能。动物的警戒性很高,所以不能追着撵着拍。在拍摄的时候,动作要慢、要柔和,不能操之过急。如果有时间,要尽量获得动物的信任,以求尽量靠近拍摄。

6.怎样拍好瀑布。

  1. 快门速度,一般需要一个比较慢的速度,在1/60――1/10秒之间。具体还需要根据水量的大小,水量大快门可以快些,水量小快门可以慢些。
  2. 尽量用广角拍。广角才会拍出气势。
  3. 一般由下往上拍,尽量用低角度仰拍。
  4. 正确曝光。用点测光来测试拍摄场景中最暗并且我能辨得清细节的地方,然后通过提高快门速度来调整两级光值。举个例子,如果测光显示石头的曝光组合是1/60s以及光圈f/5.6,你可以调到全手动档,其调整为1/15秒与光圈f/5.6。然后重新拍摄,拍出的照片会较黑,但细节部位仍是清楚的。

7.花卉拍摄。

对于拍花要讲究点技巧才能拍得好看,我们以前说过要在拍之前喷点水可以增加花的层次感以及娇翠欲滴的感觉,此外还应注意以下几点:

  1. 测光方式最好用点测光,测花最亮的部分,使得花整体细节都能表现清楚。
  2. 拍摄模式最好光圈优先,可以适当控制背景的虚化或者控制景深。
  3. 拍摄角度,不要只拍正面,可同时拍不同角度的7、8张片。从而可以选择最漂亮的角度。
  4. 背景。选择背景是深色(如很浓密的树叶、深色墙等)的花作为拍摄的对象。
    用一大块黑色的布摆在花的背后,离花要远一点,近了要看见布纹。黑布摆的方法,可以直接平放在地上,也可以挂在花的背后,也可以把黑布蒙在一块板上立在花的背后。

注意事项

突出主体。

在拍摄之前,心里要像绘画前那样首先“立意”,考虑照片画面中,主要表现什么,被摄主体安排在什么地方。然后通过光线、色彩、线条、形态等造型手段,来达到突出主体的目的。2
视觉平衡。一幅构图达到视觉平衡的照片、能给人以稳定、协调的感觉。平衡有对称平衡及非对称平衡两种、非对称平衡的构图,往往比对称平衡的构图更富有动感。景物的大小、形状、重量和方向、以及M8色彩等都对视觉平衡有重要影响。

虚实相映。

虚实是指被摄主WX1体与空间前、后景的清晰、模糊的程度。运用的手法不外乎藏虚露实、虚实相间、虚宾实主、以虚托实。其目的是为了突出主体,渲染气氛,增强空间纵深感。实,主要是表现被摄对象的主体;虚、主要是表现被摄对象的陪体,以衬托主体,它是构成画面意境的重要环节。
讲究节奏与旋律摄影构图,被摄对象以相同或近似的形式交替出现,有条理地重复,便形成节奏;节奏如果表现出线条、舒畅、和谐、起伏等动态变化,就成为旋律,从而使画面优美、抒情而流畅。节奏与旋律是深化主题的重要环节,它们包含在线条、色彩、光线的反差与色调中。

线条运用。

线条是构图的骨架。任何形象化的作品,都离不开线条。通常起线条作用的有树、草、电线杆、河流、波浪等,不同的线条能给人以不同的视觉形象,如水平线能表示稳定和宁静,垂直线能表示庄重和力量,斜行线则具有生气,活力和动感,曲线和波浪线显得柔弱、悠闲,富有吸引力;浓线重,淡线轻,粗线强,细线弱,实线静,虚线动,构图时可灵活地加以运用。

各种环境拍摄参数设置

1、拍静止的小东西的特写

用Av档,光圈最好在f5.6或以下,焦距最好50以上,尽量在1m以内拍摄,使背景虚化!光线好的话,iso100,光线不好的话,iso最好400以内。

2、拍人

基本都是使用较大的光圈(f5.6以内)、50mm以上的焦距,拍拍摄距离视全身、半身、大头照而定,使背景虚化,使用Av档!光线好的话,iso100,光线不好,iso400以内。

3、拍景

Av档,使用适当的光圈,f8以上吧,焦距随便,但是一般广角端都有畸变,酌情使用。

4、拍夜景

上三角架,Av档,自定义白平衡或白炽灯,f8以上的光圈,小光圈可以使灯光出现星光的效果,使用反光板预升功能,减少按快门后,反光板抬起引起的机震;并用背带上的那个方盖子,盖住取景器,以避免杂光从后面进入影响画质;iso200以内,尽量使曝光时间加长,这样可以使一些无意走过的人从画面消失,不留下痕迹,净化场景!

5、拍烟花

使用快门线,B快门,可以拍出多烟花重叠的效果!

6、拍运行的东西

光线好的情况:Av档,光圈大小酌情处理;使用f8以上的光圈得到大景深效果,使用小光圈得到浅景深的效果;想拍很有动感的效果,可以使用Tv档,快门1/30左右,对焦按快门的同时,镜头以合适的速度追着对象移动,会出现很动感的效果!
光线不好的话,只能酌情处理了,再加上使用追拍!

7、拍流水或喷泉

使用Tv档。1/50左右的快门速度,可以拍出缎子的效果,如果使用太快的快门,喷泉拍出来就都是不连续的水滴了!

8、夜间人像留影

上三角架,调节白平衡,自动或自定义白平衡;iso100-400;Av档,光圈f8左右,使用慢速同步闪光,后帘闪光模式;此时,闪光灯会闪两次,按下快门闪一次,曝光结束前会再闪一次,所以在闪两次前,人不要离开。这样拍出来可以使人物清晰,背景霓虹也很漂亮,不至于背景曝光不足而过暗。

Av光圈优先技巧

  1. 不管拍啥,除非要保持安全快门,不然别开最大光圈拍。
  2. 拍风景请尽量使用F8~F11的光圈。
  3. 拍人物及静物特写可使用最大光圈1~2级之光圈。
  4. 安全快门请尽量控制在焦距倒数以上,广角端快门也要在1/30秒以上比较保险,若快门不足请提高光圈或iso。

测光方式

  1. 测光不要对着天空,不要对着最暗的地方,要去抓中间值。
  2. 依照你拍的题材,善用测光模式(权衡测光,点测光,中央重点测光)。
  3. 若遇到测光抓不准的时候,请用AE lock 对身边灰色的东西曝光锁定后再来拍摄。
  4. 尽量别对白色或黑色物体测光,不然就请记得黑要减EV,白要加EV。

EV即曝光补偿

曝光补偿也是一种曝光控制方式,一般常见在正负2-3EV左右,如果环境光源偏暗,即可增加曝光值以突显画面的清晰度。
小型数码相机大多通过菜单来调节曝光补偿:数码相机在拍摄的过程中,如果按下半截快门,液晶屏上就会显示和最终效果图差不多的图片,对焦,曝光一切启动。这个时候的曝光,正是最终图片的曝光度。图片如果明显偏亮或偏暗,说明相机的自动测光准确度有较大偏差,要强制进行曝光补偿,不过有的时候,拍摄时显示的亮度与实际拍摄结果有一定的出入。数码相机可以在拍摄后立即浏览画面,此时,可以更加准确的看到拍摄出来的画面的明暗程度,不会再有出入。如果拍摄结果明显偏亮或偏暗,则要重新拍摄,强制进行曝光补偿。拍摄环境比较昏暗,需要增加亮度,而闪光灯无法起作用时,可对曝光进行补偿,适当增加曝光量。进行曝光补偿的时候,如果照片过暗,要增加EV值,EV值每增加1.0,相当于摄入的光线量增加一倍,如果照片过亮,要减少EV值,EV值每减少1.0,相当于摄入的光线量减小一倍。按照不同的相机的补偿间隔可以以1/2或1/3的单位来调节。
被拍摄的白色物体在照片里看起来是灰色或不够白的时候,要增加曝光量,简单地说就是“越白越加”,这似乎与曝光的基本原则和习惯是背道而驰的,其实不然,这是因为相机的测光往往以中心的主体为偏重,白色的主体会让相机误以为很环境很明亮,因而曝光不足,这也是多数初学者易犯的通病。
由于相机的快门时间或光圈大小是有限的,因此并非总是能达到2EV的调整范围,因此曝光补偿也不是万能的,在过于暗的环境下仍然可能曝光不足,此时要考虑配合闪光灯或增加相机的iso感光灵敏度来提高画面亮度。

注:佳能说明书上的光圈是指F数值,光圈越大,景深越大。
一般人们所说的光圈是指光圈孔径,和F数值成反比,光圈(孔径)越大,景深越小。
Av–光圈优先自动曝光。
Tv–快门优先自动曝光
AE-自动曝光
AF-自动对焦
AF-S–和SAF应该一样,是单次自动对焦。相对的是连续自动对焦。
MAF-监控AF,这个模式可以缩短对焦所需的时间。相机在快门按钮按下一半之前就会调整焦点,让您以调整好的焦点进行构图。将快门按钮按下一半,而且af 锁定完成时,焦点会被锁定。
EV-曝光值,通常在进行曝光补偿时会用到这个术语。
ISO-感光度,感光度每差一档,相当于光圈或者快门相应的一档曝光值。

三万元搞定两室两厅装修攻略

三万元搞定两室两厅装修攻略

客厅作为家庭的门面,可是马虎不得,宁可卧室不装,客厅也不能落下。三万元就轻松搞定,简洁大方的客厅装修,足以提升你的居住档次!

省钱攻略

省钱一

装房子有人说首要是设计,一定要找装修公司,实际不然的,现在淘宝等网站上有很多有关装修的图片,你可以自己对比,进行选择再稍加改动就可以用了,效果未必比装修公司的差。所以一开始,是选择装修公司还是自己找装修工游击队呢?我建议是如果你太忙就选公司,如果你每天还有些挤出来的时间,就选没有公司的装修包工头,俗称装修游击队,因为这样省钱,可以算的,装修公司在承揽到工程后,如果是大公司他有固定的工人,但价钱肯定贵,如果小公司,他养不起那么多固定的工人,当他承揽到工程时是临时找装修工的,他们从中收取管理费、材料回扣、图纸设计费等,而这些你完全可以自己做,不就省钱了,我家装修时是我从前到后负责管理,找了一个别人介绍的包工头。再说包工头,包工头最好是木工,因为装修里最有难度和技术的就是木工的活,有他在,他可以参与其中替你把关。在开工前谈好工钱情况,一般是按件收的,如处理墙面时一平方的单价、木工做一个电视背景墙多少钱等等,这样一目了然,最后形成文字打印双方签字,形成合同。

装修开始前,需要材料,建议自己在给包工头包工程的时候,声明包工不包料,因为材料里利润也很大,让他给你开好材料单子,你自己去跑市场,而且尽量在一家大一点的建材店,为了能将所有的材料配齐,这样也是比多家店买划算,买材料的时候不要带装修工人去,因为他们有行规:只要有工人跟着就会给他们回扣,而回扣就是你自己的腰包里的钱。至于材料的好坏,我不建议买太好的,根据自己的情况,适中就可以了。而且先了解材料的价格,这就多跑几家货比三家后你自然就清楚了。对于卫生间、厨房阳台的瓷砖,在购买时建议不要买得花色过于分散,因为种类越多,浪费越大,浪费的可是钱啊!材料备好后,就开始施工了,首先先改造水电线路,建议水电的管线等材料尽量要品牌的、好的,因为是要埋在墙里或地里的,维修很麻烦,所以一次到位。

省钱三

装修时少不了油漆,在建材市场里油漆的利润还是比较大的,要尽量在一家买,可以砍价。另外油漆的种类很多,我建议不要买他们的所谓高档货,没有必要,不要被卖家的介绍给忽悠了,什么可以擦洗几万次什么的,谁闲得没有事做天天擦。中档就很好了,只要是在国家质量检验局能查到的就可以,我用的是什么还是不在这里写了有做广告的嫌疑,有兴趣的可以直接旺我好了。而且一定要砍价。油漆可以省很多钱的。告诉大家可能不信,我家处理的墙面大概230平方,木工用的木器漆记不大清楚了,合起来一共只花了2600元

省钱四

厨房的橱柜建议让木工做柜体架子,自己到橱柜店订门,做出来既好看耐用又省钱,卖得整体橱柜,质量好的太贵、便宜的不耐用质量差。

省钱五

最后装的是地板,我家是直接到厂家订货,用的是竹地板,江西产的,至于牌子还是不能在这写,有需要旺我就好了。我家里有人认识厂老板105/平方含运费。如果你是偏南方的建议用竹地板,它与复合地板、实木地板相比最耐用、最好打理、最环保、较经济的,复合板中胶的含量较高,而胶中的有害物质较多,不利于挥发,对身体不好,当然,其他地板中也有胶,只不过要少一些。而实木地板价位较高而且不易打理。当然若用地板砖就另当别论了。

省钱六

装修中用到的有些东西可以淘宝淘的,如水龙头、洗菜盆、花洒、墙贴、壁纸、小摆件等

省钱七

最后一个建议:尽量借着过节的时机去订装修的用品,如卫生间的卫生洁具、厨房橱柜、厨具、灯具、室内门等用具,这样会有很高的折扣的,比如五一、十一、元旦、春节等大型节日,(^__^) 嘻嘻……

装修攻略

春季是家庭装修比较好的时节,但是春季装修要特别注意防潮、防水等细节,初次装修的业主不妨先看看业内人士整理的春季装修攻略。

攻略1:装修公司的选择

选择装修公司是装修房子的重中之重,选择装修公司时要查三证,看他们有无承担家居装饰的资质证书,有无营业执照,有无装饰行业协会会员证。另外,针对个别有资质的公司往往把工程转包给“游击装修队”的做法,消费者还应考察装修人员的办公地点等。

攻略2:了解家装程序

家庭装修工程可概括为结构工程、装修工程、装饰工程和安装工程四个类别,具体工序应当是:

首先由瓦工对基层进行处理,清理顶、墙、地面,达到施工技术要求,同时进行电,水线路改造。基层处理达标后,木工进行吊顶作业,吊顶构造完工后,开始进行细木工作业,如制作木制暖气罩、门窗框套、木护墙等。当细木工装饰构造完成,并已涂刷一遍面漆进行保护后,才进行墙、顶面的装修工作。

在进行墙面装饰时,应预留空调等电器安装孔洞及线路。地面装修应在墙面施工完成后进行,开始地板、石材、地砖等铺装,并安装踢脚板,铺装后应进行地面装修的养护。地面养护期后,再进行细木工装饰的油漆饰面作业,完工后装饰工程基本告一段落,再将配套电器、设施、家具等安装安放好,工程才算最后结束。

攻略3:如何科学防潮

家庭装修当中,木质材料使用比重较大,而木制品受气候影响较大,有热胀冷缩的特点。气候的干湿情况会影响木质材料的含水率,春季气候条件适宜将木质的含水率控制在 13%以内。木材含水率如果超过这个比例,其热胀冷缩的变化就很明显,从而影响施工质量。

在选购木料时,一定要购买经过干燥处理的木料。因为这种木料可以直接用于居室的装修,减少了中间环节,就减少了木料受潮的机会。木料买回后放置两三天再进行必要的防潮处理。

攻略4:环保装饰装修

消费者对家庭装修环保问题的关注度日益上升。而要避免装修造成室内污染,尽量选择简洁的装修风格,选用环保的装修材料,并在装修合同中约定环保条款,以免装修过后出现污染而缺少投诉和诉讼时所需要的依据。

合同不仅要注明所用乳胶漆、油漆的品牌名称,还要把是否会造成空气污染或者是否会产生有害气体超标等问题作为一个重要内容写入,以此来要求装修公司保证使用高质量的装修材料,保护消费者合法权益不受侵害。

房子装修完毕后,可请室内环境监测的权威部门进行检测,了解空气中甲醛等有害物质是否超标,及早采取有效措施。另外需要注意的是,刚装修完毕的居室不宜马上入住。由于各种有害气体的释放量很高,立即入住会对身体造成伤害,所以要通风一段时间,以加快有害气体的释放扩散,降低室内有害气体浓度。

五险一金

五险一金知多少?

养老保险

一般要交满15年,到退休的时候才能终生享受养老金,所以想拿养老金的人请务必在自己退休前15年就开始交。如果到退休年龄交养老保险不满15年,那等到你退休的时候国家会把你个人帐户上存的8%的养老金全部退给你。那单位给你交的21%到哪里去了?国家把单位为你交的21%的钱全部划到国家的养老统筹基金里了。国家规定,退钱的时候只退给个人自己扣交的钱,单位为他交的钱全部都为国家做贡献。退休时候的养老金是怎么算出来的。养老金的算法很复杂,国家每年都会把缴费基数变一次,:如果你现在30岁,你现在的缴费基数是3000元,而退休年龄如果是55岁的话,那你必须在你40岁以前就开始交养老保险了,而如果你现在从30岁就开始交,交到55岁是25年,那首先肯定你能享受养老金了,其次,如果25年后你交的 3000块的缴费基数已经变成了6000,那你55岁的时候首先每个月可以拿到6000×20%=1200块的基本养老金,这是国家给你的,此外你的个人帐户上的钱在25年里也积攒了不少,把缴费基数平均一下好了, (3000+6000)÷2=4500,那么你这25年里个人帐户上应该有4500×8%(你缴纳的养老保险的个人比例)×25年×12个月=108000元钱,除了之前的1200块以外你每个月还能拿到108000÷ 120=900块, 这样你55岁开始每个月起码可以拿到1200+900=2100元的养老金,当然每年国家的基数还在往上涨,这样每年除了你自己的900块,你退休以后每个月都会拿到比1200块更多的钱,那你的养老金当然也会越来越多的所以说交养老保险交得越多越好,你交得越多你退休以后享受的也越多,而且,国家每年调整基数以后你拿的钱也会越来越多,现在交1000十年之后拿1500都是有可能的。但是,不管你在哪里交社保费,等你退休的时候你都只能回你的户口所在地享受当地的退休待遇,所以,在基数高的地方交社保但是退休回基数低的地方享受养老金的人那就亏大了。为什么这么说呢?如果你年轻的时候在南京工作,交了20年的社保然后退休了,但是如果你的户口在黑龙江,那你必须回黑龙江享受养老金.如果你在南京交了20年的平均基数是3000,而当你退休的时候黑龙江的缴费基数才1000,那么你退休的时候只能享受 1000的待遇!这是很亏的!一句话,如果你在富地方交社保但是退休的时候回穷地方享受社保,那你一辈子交的很多但是享受的很少!交3000 块可能只能享受1000块!这是很恐怖的事情,但是没办法,国家就是这个政策,所以请所有目前户口在基数低的地方但是在北京或上海等基数高的地方工作交社保的注意了,你要么就在西部交社保,要么就在退休前把户口迁到北京或上海,否则你就是在做人生一笔巨亏本的买卖。也许你会说,如果在基数低的地方交钱,退休的时候回基数高的地方享受高福利。错!你以为劳动保障部门会随随便便就让你享受么?一般这种情况下政府会找个理由直接拒绝你转入!到时候你就聪明反被聪明误了:在黑龙江享受不了,在南京也享受不了!不过有些地方对这样的情况有了一些缓和的规定,比如南京允许你在退休前5年从基数低的地方转回南京,再在南京继续交5年南京的高基数,之后允许你回南京享受养老金.这个政策各个地方估计都不一样,有打算转的人最好现在就去你当地的劳动局把这个问题搞清楚,免得退休时候发生你意想不到的意外!

医疗保险

单位每月给你交的是9%,你个人每月交的大概是2%外加10块钱的大病统筹,大病统筹只管住院,而那11%里国家每个月会往你的医保帐户上打属于你自己的2%,如果你每个月按照1369元的最低基数交社保,那么1369×2%=27.38元。就是国家每个月打给你个人的钱,这个钱可以积累起来直接刷卡去买药或者看门诊,剩下的9%国家就拿去算到医疗统筹基金里了。按规定,如果你从2008年1月开始缴纳医疗保险,那么从2008年2月起你就可以刷卡买药或者看门诊,从2008年7月起你住院的费用就可以报销了。如果你2008年8月1日住院了,住的是南京市最好的三级医院,住院期间用的都是医保范围内的药,手术+住院等费用一共花了5000元,那么报销的时候医保中心首先扣除1000块,这是起步价,剩下的4000块医保中心可以报销4000×86%=3440元,你个人只要付4000×14%=560元就可以了,加上之前的1000元起步价,你花了5000块自己只要付1560元就可以了,而且这1560元还可以从你的医保卡里扣(如果你平时不怎么用那卡), 所以实际上你住院花不了多少钱。医疗保险对于我们年轻人来说比养老保险重要多了,毕竟看病住院实在太贵了,这也是参加社会保险的意义。不过南京市规定医疗保险必须交满25年才能在退休以后终生享受,所以如果你55岁退休,那最迟30岁起就必须开始交医疗保险了。

工伤保险

用得少,需要提醒的是你如果在工作的时候或者上下班的时候出了什么事,这个险就用得上了。但在实践中很多人出了事不注意保存证据,导致自己无法享受工伤保险,这是很可惜的。如果你下班的时候被车撞了,那应该赶快报警,让警察来调查记录并拍照采集证据,警察处理完以后会给你开个事故鉴定书之类的东西,你就可以拿这个去单位要求报工伤了。如果你出了事就随便让人跑了而且还不找证人还不报警什么的,那没证据的情况下一般不会被采纳为工伤的。工伤还有个时效问题,如果你2008年7月1日出了工伤,那你必须马上报告单位,把警察出具的证据和事故鉴定书以及你出工伤以后去看病或住院的病历交给单位,叫单位拿着这些材料去做工伤鉴定,你的单位必须在2008年8月1日之前把你的有效材料送到工伤鉴定中心,如果距离你出工伤的日子超过了一个月, 那工伤可能就鉴定不起来了。如果你单位不去给你鉴定,那你自己可以拿着材料去鉴定中心鉴定,最好也不要超过一个月,否则会很麻烦很麻烦。

生育保险,

南京从08年6月1日起执行新政策。一是报销比例提高;二是建卡的时候必须出示结婚证和医保卡等相关证件,所有的费用从建卡开始到你生完小孩结束,院方同医保中心实时结算,个人只需承担生育保险不保的费用。至于生育津贴如何发放可能仍然需要单位出面办理,具体可以咨询下劳动保障部门。看看老政策,因为现在是7月,新政规定6月之前建卡的仍然按老政策执行,可能某些同志还需要了解。例如,如果你是女生,每个月工资为1000元,2008年1月1日开始交生育保险,缴费基数为1369,而你2008年3月怀孕,2008年12月底生了孩子,2009年1月出院,那么你出院以后要赶快把结婚证(未婚生子的报销不了)+独生子女证(一般来说生2胎的报销不了)+病历+建大小卡检查和住院和手术费用的所有发票+住院清单+出院小结这些所有的材料交到公司,如果你怀孕时候检查花了500块,生孩子的时候住院+手术花了2000块,一般来说,公司在医保规定范围内基本上可以给你全部报销,报销以后给你的钱包括:500块检查费+2000块住院手术费+1369元/月×4个月=7976块, 1369元/月×4个月这是医保中心特别为报销的女生补贴的。只有女生报销才能拿的到国家规定女孩子报销生育保险的时候必须给4个月的平均工资,所以你生孩子报销的话不仅不要花钱而且还可以赚4个月的工资!如果你基数交的比工资高,比如拿1000块交的是1369,那么你还赚了呢。生育保险起码要交一年才能享受,切记切记。此外还有个问题,男生也交生育保险,是否可以享受生育保险呢?如果你是男生,你老婆没工作或者工作单位没交保险,而她生孩子的时候你交生育保险也已经超过了一年,那么你也可以报销生育保险,但以之前的例子为例,你只能报销500块检查费+2000块住院手术费的一半=1250元, 补贴的1369元/月×4个月的工资你就享受不到了!这是只有女生报销的时候才可以享受的哦~同样的花费,女生报销就能拿7976块,男生报销只能拿1250块,这大概也是中国少有的”歧视男性”的政策。所以说,女生要生孩子之前最好计划一下,提前一年开始找个单位交生育保险,可以赚呢!而男生如果要娶老婆,最好娶一个生孩子的时候已经交了一年生育保险而且缴的基数还比她本身工资高的女生哦!不过如果她实在没保险也没关系,你还可以给她报销生育保险,不过你没补贴的4个月工资拿,而且该报的费用你只能拿回来一半。

失业保险,

要交满一年才能享受,一般交1年拿2个月,交2年拿4个月,但一辈子最多拿24个月。南京市失业保险金月标准601元,市区最低标准为518元。如果你2008年1月1日开始交保险,2009年1月你被公司辞退了,那你可以让公司给你拿2个月的失业保险,如果这一年你都是以1369的基数交的保险,那你2个月起码可以拿到1000多块钱或者你2008年1月1日开始交保险,2009年1月你和公司合同到期了,你们都不想续签合同的话那你也可以在离开公司以前让公司给你去拿2个月的失业保险,也是800多块。就是说合同到期或者公司辞退,你都可以按照一年拿2个月的失业金的比例去要求公司给你办,如果公司不给你办你可以去告它,一告一个准。但是如果你是合同没到期自己辞职走,那就算你交满了1年也享受不到失业保险只要是自己辞职的,别说交1年了,就是交10年的失业保险到辞职的时候你也拿不到一分钱。

住房公积金

如果你每个月公积金交300块,那么公司每个月也往你帐户上打300块,你买房子的时候这就是600块了。如果你一辈子交了5万,那你帐户上就是10万了,这种好事大家一定不要拒绝啊。公积金可以用来买房子,还贷款,装修什么的,如果你自己家可以找到地皮盖房子,那盖房子的钱也可以从公积金里付如果你一直不用这钱,最后退休的时候貌似可以把钱全部取出来。

辞职跳槽时五险一金怎么办?

五险: 养老, 失业 工伤, 医疗, 生育
一金:公积金
缴费标准:养老(单位20%, 个人8%)
生育 (单位交)
工伤(单位交,个人不交)
医疗(单位10%, 个人2%*基数+3)
失业单位1.5% 个人0.5%)
公积金(今年最高不超12%以前年度不超10%,单位个人各一半)

  1. 养老保险是可以中断的, 中间中断无所谓,最后是累计年限的, 不过交得越多,当然养老金也越多拉. 办理转移手续: 在老单位打出转移单, 交给新单位继续上就行
  2. 失业保险虽然必须要交,但和我们没有多大关系(如果你是学校毕业的, 属于干部身份,档案可以存人才的), 断不断不要紧, 我们失业了也领 不到失业金,除非发疯了,把干部身份转为工人身份, 以后退休按工人待遇领退休金. 失业保险只有在街道登记的失业者才能申请(工人身份的档案放在街道, 干部身份的放在人才或单位)
    办理转移手续: 不用办理, 到新单位继续上就行.
  3. 医疗保险比较重要, 规定是中断三个月以上就失效, 三个月以后看病就得自己掏钱, 小病无所谓,大病就惨了, 中断三个月以上的到新单位重新上.
    每个上医保的有一个存折,终身使用, 不管单位是否变化, 单位应该每月把一定比例的钱打入存折, 个人可以随时提取. 用途不管.
    每个上医保的有一个蓝本, 就是医疗本, 医疗规定门诊费用2000元以上部分才可以报销, 比如花了2500, 只报销500的50%-70%(医院不同,报销比例不同),如果住院报得就多了. 看病的时候要告诉医院开医保的单子, 住院要带上.
  4. 公积金单位把给你的钱和你自己的钱都存到你的公积金帐户,比如工资3000元, 单位给你300, 你自己扣除300, 所以你每月公积金帐户应该有600元, 只能一年取一次, 要去公积金中心取, 需要买房或修房. 可以自取或委托单位取.
    办理转移手续: 先在新单位开帐号, 拿帐号给老单位,让老单位把原来帐号的钱转入新帐号.
    公积金中心每年六月会给单位发每个员工的对帐单, 显示你的帐户现在的钱.
    另外, 每年四月左右是调整下年度养老\失业\医疗基数的时间,
    每年六月是调整下年度公积金的时间.

下面再说说现在市场上一些不规范的情况

  1. 很多单位不按本人工资给上保险和公积金, 比如按北京市平均工资上, 个人就吃亏了. 所以找工作的时候要问清楚.
  2. 现在很多人才都规定养老失业和大病是捆绑的, 要么都不上,要么都一起上,而且必须档案在人才的才给上. 如果个人在人才上, 就必须把单位的钱和个人的钱都自己交 , 挺多的, 据说按最低标准, 每月也得交一千多, 而且没有多少钱到个人帐户上, 建议如果比较年轻, 身体还好, 只是暂时失业, 不必自己交了, 以后到单位再上吧.
    3.有钱人可以不上养老保险, 穷人最好上,指 望能有点钱养老.有人说自己存着, 但国家对养老金还是有所保障的,会根据经济情况上调.
    4.有些单位以档案不在本单位,不给上, 是不对的, 因为档案和保险不挂钩
  3. 外地户口的同样,应该给上所有的保险和公积金, 和户口没关系, 以后如果去其他城市, 都是可以转的