caffe搭建以及初步学习--win7-vs2013-gtx650tiboost-cuda8.0-cifar10训练和测试-2-完整解决方案cifar10_full_solver.prototxt
首先总结前一节的内容。
简单的讲,就是训练并测试了快速解决方案。
转换数据格式:
convert_cifar_data.exe data/cifar10 examples/cifar10 lmdb
计算平均值
compute_image_mean.exe -backend=lmdb examples/cifar10/cifar10_train_lmdb examples/cifar10/mean.binaryproto
训练网络--快速解决方案
caffe train --solver=examples/cifar10/cifar10_quick_solver.prototxt
继续训练网络--再多迭代1000次
caffe train --solver=examples/cifar10/cifar10_quick_solver_lr1.prototxt --snapshot=examples/cifar10/cifar10_quick_iter_4000.solverstate
测试模型的准确率
caffe test -model examples/cifar10/cifar10_quick_train_test.prototxt -weights examples/cifar10/cifar10_quick_iter_5000.caffemodel.h5 -iterations 100
识别一只猫
classification.exe examples/cifar10/cifar10_quick.prototxt examples/cifar10/cifar10_quick_iter_5000.caffemodel.h5 examples/cifar10/mean.binaryproto data/cifar10/synset_words.txt examples/images/cat.jpg
识别人鱼自行车
classification.exe examples/cifar10/cifar10_quick.prototxt examples/cifar10/cifar10_quick_iter_5000.caffemodel.h5 examples/cifar10/mean.binaryproto data/cifar10/synset_words.txt examples/images/fish-bike
===========================================华丽的分割线=============================================
现在开始 尝试 完整解决方案 cifar10_full_solver.prototxt
1. 训练
caffe train --solver=examples/cifar10/cifar10_full_solver.prototxt
原来以为半个小时能跑完的,结果发现,40分钟只跑了10000次迭代。总数是6万。所以,跑了很久。
好在最后还是跑完了。以后事先要先预估一下计算量才好,不然,跑了也是白跑。
2.测试
测试:做10次迭代的结果
caffe test -model examples/cifar10/cifar10_full_train_test.prototxt -weights examples/cifar10
seag@seag-G41MT-S2PT:~/wsCaffe/caffe$ caffe test -model examples/cifar10/cifar10_full_train_test.prototxt -weights examples/cifar10/cifar10_full_iter_60000.caffemodel.h5 -iterations 10
------------------------------------------------------------------------------
I0704 12:26:43.571471 5465 caffe.cpp:284] Use CPU.
I0704 12:26:45.302641 5465 net.cpp:294] The NetState phase (1) differed from the phase (0) specified by a rule in layer cifar
I0704 12:26:45.302878 5465 net.cpp:51] Initializing net from parameters:
name: "CIFAR10_full"
state {
phase: TEST
level: 0
stage: ""
}
layer {
name: "cifar"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
mean_file: "examples/cifar10/mean.binaryproto"
}
data_param {
source: "examples/cifar10/cifar10_test_lmdb"
batch_size: 100
backend: LMDB
}
}
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "gaussian"
std: 0.0001
}
bias_filler {
type: "constant"
}
}
}
layer {
name: "pool1"
type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "relu1"
type: "ReLU"
bottom: "pool1"
top: "pool1"
}
layer {
name: "norm1"
type: "LRN"
bottom: "pool1"
top: "norm1"
lrn_param {
local_size: 3
alpha: 5e-05
beta: 0.75
norm_region: WITHIN_CHANNEL
}
}
layer {
name: "conv2"
type: "Convolution"
bottom: "norm1"
top: "conv2"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 32
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
}
}
}
layer {
name: "relu2"
type: "ReLU"
bottom: "conv2"
top: "conv2"
}
layer {
name: "pool2"
type: "Pooling"
bottom: "conv2"
top: "pool2"
pooling_param {
pool: AVE
kernel_size: 3
stride: 2
}
}
layer {
name: "norm2"
type: "LRN"
bottom: "pool2"
top: "norm2"
lrn_param {
local_size: 3
alpha: 5e-05
beta: 0.75
norm_region: WITHIN_CHANNEL
}
}
layer {
name: "conv3"
type: "Convolution"
bottom: "norm2"
top: "conv3"
convolution_param {
num_output: 64
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
}
}
}
layer {
name: "relu3"
type: "ReLU"
bottom: "conv3"
top: "conv3"
}
layer {
name: "pool3"
type: "Pooling"
bottom: "conv3"
top: "pool3"
pooling_param {
pool: AVE
kernel_size: 3
stride: 2
}
}
layer {
name: "ip1"
type: "InnerProduct"
bottom: "pool3"
top: "ip1"
param {
lr_mult: 1
decay_mult: 250
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 10
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
}
}
}
layer {
name: "accuracy"
type: "Accuracy"
bottom: "ip1"
bottom: "label"
top: "accuracy"
include {
phase: TEST
}
}
layer {
name: "loss"
type: "SoftmaxWithLoss"
bottom: "ip1"
bottom: "label"
top: "loss"
}
I0704 12:26:45.329610 5465 layer_factory.hpp:77] Creating layer cifar
I0704 12:26:45.329771 5465 db_lmdb.cpp:35] Opened lmdb examples/cifar10/cifar10_test_lmdb
I0704 12:26:45.329805 5465 net.cpp:84] Creating Layer cifar
I0704 12:26:45.329823 5465 net.cpp:380] cifar -> data
I0704 12:26:45.329852 5465 net.cpp:380] cifar -> label
I0704 12:26:45.329874 5465 data_transformer.cpp:25] Loading mean file from: examples/cifar10/mean.binaryproto
I0704 12:26:45.329970 5465 data_layer.cpp:45] output data size: 100,3,32,32
I0704 12:26:45.342496 5465 net.cpp:122] Setting up cifar
I0704 12:26:45.342577 5465 net.cpp:129] Top shape: 100 3 32 32 (307200)
I0704 12:26:45.342600 5465 net.cpp:129] Top shape: 100 (100)
I0704 12:26:45.342612 5465 net.cpp:137] Memory required for data: 1229200
I0704 12:26:45.342634 5465 layer_factory.hpp:77] Creating layer label_cifar_1_split
I0704 12:26:45.352715 5465 net.cpp:84] Creating Layer label_cifar_1_split
I0704 12:26:45.352736 5465 net.cpp:406] label_cifar_1_split <- label
I0704 12:26:45.352809 5465 net.cpp:380] label_cifar_1_split -> label_cifar_1_split_0
I0704 12:26:45.352833 5465 net.cpp:380] label_cifar_1_split -> label_cifar_1_split_1
I0704 12:26:45.352854 5465 net.cpp:122] Setting up label_cifar_1_split
I0704 12:26:45.352866 5465 net.cpp:129] Top shape: 100 (100)
I0704 12:26:45.352890 5465 net.cpp:129] Top shape: 100 (100)
I0704 12:26:45.352898 5465 net.cpp:137] Memory required for data: 1230000
I0704 12:26:45.352908 5465 layer_factory.hpp:77] Creating layer conv1
I0704 12:26:45.352936 5465 net.cpp:84] Creating Layer conv1
I0704 12:26:45.352947 5465 net.cpp:406] conv1 <- data
I0704 12:26:45.352963 5465 net.cpp:380] conv1 -> conv1
I0704 12:26:47.343575 5465 net.cpp:122] Setting up conv1
I0704 12:26:47.343633 5465 net.cpp:129] Top shape: 100 32 32 32 (3276800)
I0704 12:26:47.343646 5465 net.cpp:137] Memory required for data: 14337200
I0704 12:26:47.343694 5465 layer_factory.hpp:77] Creating layer pool1
I0704 12:26:47.343719 5465 net.cpp:84] Creating Layer pool1
I0704 12:26:47.343730 5465 net.cpp:406] pool1 <- conv1
I0704 12:26:47.343745 5465 net.cpp:380] pool1 -> pool1
I0704 12:26:47.343776 5465 net.cpp:122] Setting up pool1
I0704 12:26:47.343789 5465 net.cpp:129] Top shape: 100 32 16 16 (819200)
I0704 12:26:47.343799 5465 net.cpp:137] Memory required for data: 17614000
I0704 12:26:47.343809 5465 layer_factory.hpp:77] Creating layer relu1
I0704 12:26:47.343827 5465 net.cpp:84] Creating Layer relu1
I0704 12:26:47.343838 5465 net.cpp:406] relu1 <- pool1
I0704 12:26:47.343852 5465 net.cpp:367] relu1 -> pool1 (in-place)
I0704 12:26:47.344049 5465 net.cpp:122] Setting up relu1
I0704 12:26:47.344064 5465 net.cpp:129] Top shape: 100 32 16 16 (819200)
I0704 12:26:47.344074 5465 net.cpp:137] Memory required for data: 20890800
I0704 12:26:47.344084 5465 layer_factory.hpp:77] Creating layer norm1
I0704 12:26:47.344103 5465 net.cpp:84] Creating Layer norm1
I0704 12:26:47.344115 5465 net.cpp:406] norm1 <- pool1
I0704 12:26:47.344127 5465 net.cpp:380] norm1 -> norm1
I0704 12:26:47.344894 5465 net.cpp:122] Setting up norm1
I0704 12:26:47.344913 5465 net.cpp:129] Top shape: 100 32 16 16 (819200)
I0704 12:26:47.344923 5465 net.cpp:137] Memory required for data: 24167600
I0704 12:26:47.344933 5465 layer_factory.hpp:77] Creating layer conv2
I0704 12:26:47.344955 5465 net.cpp:84] Creating Layer conv2
I0704 12:26:47.344966 5465 net.cpp:406] conv2 <- norm1
I0704 12:26:47.344981 5465 net.cpp:380] conv2 -> conv2
I0704 12:26:47.346536 5465 net.cpp:122] Setting up conv2
I0704 12:26:47.346554 5465 net.cpp:129] Top shape: 100 32 16 16 (819200)
I0704 12:26:47.346565 5465 net.cpp:137] Memory required for data: 27444400
I0704 12:26:47.346583 5465 layer_factory.hpp:77] Creating layer relu2
I0704 12:26:47.346596 5465 net.cpp:84] Creating Layer relu2
I0704 12:26:47.346607 5465 net.cpp:406] relu2 <- conv2
I0704 12:26:47.346621 5465 net.cpp:367] relu2 -> conv2 (in-place)
I0704 12:26:47.346993 5465 net.cpp:122] Setting up relu2
I0704 12:26:47.347010 5465 net.cpp:129] Top shape: 100 32 16 16 (819200)
I0704 12:26:47.347021 5465 net.cpp:137] Memory required for data: 30721200
I0704 12:26:47.347031 5465 layer_factory.hpp:77] Creating layer pool2
I0704 12:26:47.347048 5465 net.cpp:84] Creating Layer pool2
I0704 12:26:47.347059 5465 net.cpp:406] pool2 <- conv2
I0704 12:26:47.347071 5465 net.cpp:380] pool2 -> pool2
I0704 12:26:47.347445 5465 net.cpp:122] Setting up pool2
I0704 12:26:47.347462 5465 net.cpp:129] Top shape: 100 32 8 8 (204800)
I0704 12:26:47.347472 5465 net.cpp:137] Memory required for data: 31540400
I0704 12:26:47.347482 5465 layer_factory.hpp:77] Creating layer norm2
I0704 12:26:47.347497 5465 net.cpp:84] Creating Layer norm2
I0704 12:26:47.347507 5465 net.cpp:406] norm2 <- pool2
I0704 12:26:47.347522 5465 net.cpp:380] norm2 -> norm2
I0704 12:26:47.348095 5465 net.cpp:122] Setting up norm2
I0704 12:26:47.348112 5465 net.cpp:129] Top shape: 100 32 8 8 (204800)
I0704 12:26:47.348122 5465 net.cpp:137] Memory required for data: 32359600
I0704 12:26:47.348132 5465 layer_factory.hpp:77] Creating layer conv3
I0704 12:26:47.348186 5465 net.cpp:84] Creating Layer conv3
I0704 12:26:47.348197 5465 net.cpp:406] conv3 <- norm2
I0704 12:26:47.348212 5465 net.cpp:380] conv3 -> conv3
I0704 12:26:47.358871 5465 net.cpp:122] Setting up conv3
I0704 12:26:47.358929 5465 net.cpp:129] Top shape: 100 64 8 8 (409600)
I0704 12:26:47.358940 5465 net.cpp:137] Memory required for data: 33998000
I0704 12:26:47.358973 5465 layer_factory.hpp:77] Creating layer relu3
I0704 12:26:47.358996 5465 net.cpp:84] Creating Layer relu3
I0704 12:26:47.359007 5465 net.cpp:406] relu3 <- conv3
I0704 12:26:47.359025 5465 net.cpp:367] relu3 -> conv3 (in-place)
I0704 12:26:47.359354 5465 net.cpp:122] Setting up relu3
I0704 12:26:47.359377 5465 net.cpp:129] Top shape: 100 64 8 8 (409600)
I0704 12:26:47.359387 5465 net.cpp:137] Memory required for data: 35636400
I0704 12:26:47.359397 5465 layer_factory.hpp:77] Creating layer pool3
I0704 12:26:47.359411 5465 net.cpp:84] Creating Layer pool3
I0704 12:26:47.359422 5465 net.cpp:406] pool3 <- conv3
I0704 12:26:47.359439 5465 net.cpp:380] pool3 -> pool3
I0704 12:26:47.359905 5465 net.cpp:122] Setting up pool3
I0704 12:26:47.359925 5465 net.cpp:129] Top shape: 100 64 4 4 (102400)
I0704 12:26:47.359935 5465 net.cpp:137] Memory required for data: 36046000
I0704 12:26:47.359944 5465 layer_factory.hpp:77] Creating layer ip1
I0704 12:26:47.359964 5465 net.cpp:84] Creating Layer ip1
I0704 12:26:47.359975 5465 net.cpp:406] ip1 <- pool3
I0704 12:26:47.359992 5465 net.cpp:380] ip1 -> ip1
I0704 12:26:47.360213 5465 net.cpp:122] Setting up ip1
I0704 12:26:47.360225 5465 net.cpp:129] Top shape: 100 10 (1000)
I0704 12:26:47.360234 5465 net.cpp:137] Memory required for data: 36050000
I0704 12:26:47.360249 5465 layer_factory.hpp:77] Creating layer ip1_ip1_0_split
I0704 12:26:47.360265 5465 net.cpp:84] Creating Layer ip1_ip1_0_split
I0704 12:26:47.360276 5465 net.cpp:406] ip1_ip1_0_split <- ip1
I0704 12:26:47.360291 5465 net.cpp:380] ip1_ip1_0_split -> ip1_ip1_0_split_0
I0704 12:26:47.360307 5465 net.cpp:380] ip1_ip1_0_split -> ip1_ip1_0_split_1
I0704 12:26:47.360324 5465 net.cpp:122] Setting up ip1_ip1_0_split
I0704 12:26:47.360337 5465 net.cpp:129] Top shape: 100 10 (1000)
I0704 12:26:47.360347 5465 net.cpp:129] Top shape: 100 10 (1000)
I0704 12:26:47.360355 5465 net.cpp:137] Memory required for data: 36058000
I0704 12:26:47.360365 5465 layer_factory.hpp:77] Creating layer accuracy
I0704 12:26:47.360388 5465 net.cpp:84] Creating Layer accuracy
I0704 12:26:47.360399 5465 net.cpp:406] accuracy <- ip1_ip1_0_split_0
I0704 12:26:47.360410 5465 net.cpp:406] accuracy <- label_cifar_1_split_0
I0704 12:26:47.360426 5465 net.cpp:380] accuracy -> accuracy
I0704 12:26:47.360442 5465 net.cpp:122] Setting up accuracy
I0704 12:26:47.360455 5465 net.cpp:129] Top shape: (1)
I0704 12:26:47.360463 5465 net.cpp:137] Memory required for data: 36058004
I0704 12:26:47.360472 5465 layer_factory.hpp:77] Creating layer loss
I0704 12:26:47.360492 5465 net.cpp:84] Creating Layer loss
I0704 12:26:47.360503 5465 net.cpp:406] loss <- ip1_ip1_0_split_1
I0704 12:26:47.360514 5465 net.cpp:406] loss <- label_cifar_1_split_1
I0704 12:26:47.360528 5465 net.cpp:380] loss -> loss
I0704 12:26:47.360553 5465 layer_factory.hpp:77] Creating layer loss
I0704 12:26:47.360777 5465 net.cpp:122] Setting up loss
I0704 12:26:47.360795 5465 net.cpp:129] Top shape: (1)
I0704 12:26:47.360805 5465 net.cpp:132] with loss weight 1
I0704 12:26:47.360834 5465 net.cpp:137] Memory required for data: 36058008
I0704 12:26:47.360846 5465 net.cpp:198] loss needs backward computation.
I0704 12:26:47.360860 5465 net.cpp:200] accuracy does not need backward computation.
I0704 12:26:47.360872 5465 net.cpp:198] ip1_ip1_0_split needs backward computation.
I0704 12:26:47.360882 5465 net.cpp:198] ip1 needs backward computation.
I0704 12:26:47.360891 5465 net.cpp:198] pool3 needs backward computation.
I0704 12:26:47.360901 5465 net.cpp:198] relu3 needs backward computation.
I0704 12:26:47.360911 5465 net.cpp:198] conv3 needs backward computation.
I0704 12:26:47.360954 5465 net.cpp:198] norm2 needs backward computation.
I0704 12:26:47.360965 5465 net.cpp:198] pool2 needs backward computation.
I0704 12:26:47.360975 5465 net.cpp:198] relu2 needs backward computation.
I0704 12:26:47.360985 5465 net.cpp:198] conv2 needs backward computation.
I0704 12:26:47.360996 5465 net.cpp:198] norm1 needs backward computation.
I0704 12:26:47.361006 5465 net.cpp:198] relu1 needs backward computation.
I0704 12:26:47.361016 5465 net.cpp:198] pool1 needs backward computation.
I0704 12:26:47.361026 5465 net.cpp:198] conv1 needs backward computation.
I0704 12:26:47.361037 5465 net.cpp:200] label_cifar_1_split does not need backward computation.
I0704 12:26:47.361047 5465 net.cpp:200] cifar does not need backward computation.
I0704 12:26:47.361057 5465 net.cpp:242] This network produces output accuracy
I0704 12:26:47.361068 5465 net.cpp:242] This network produces output loss
I0704 12:26:47.361099 5465 net.cpp:255] Network initialization done.
I0704 12:26:47.440634 5465 hdf5.cpp:32] Datatype class: H5T_FLOAT
I0704 12:26:47.442189 5465 caffe.cpp:290] Running for 10 iterations.
I0704 12:26:48.122941 5465 caffe.cpp:313] Batch 0, accuracy = 0.81
I0704 12:26:48.123001 5465 caffe.cpp:313] Batch 0, loss = 0.669872
I0704 12:26:48.722308 5465 caffe.cpp:313] Batch 1, accuracy = 0.81
I0704 12:26:48.722373 5465 caffe.cpp:313] Batch 1, loss = 0.600901
I0704 12:26:49.322628 5465 caffe.cpp:313] Batch 2, accuracy = 0.72
I0704 12:26:49.322688 5465 caffe.cpp:313] Batch 2, loss = 0.712268
I0704 12:26:49.923393 5465 caffe.cpp:313] Batch 3, accuracy = 0.79
I0704 12:26:49.923454 5465 caffe.cpp:313] Batch 3, loss = 0.630273
I0704 12:26:50.522907 5465 caffe.cpp:313] Batch 4, accuracy = 0.8
I0704 12:26:50.522970 5465 caffe.cpp:313] Batch 4, loss = 0.519629
I0704 12:26:51.123852 5465 caffe.cpp:313] Batch 5, accuracy = 0.84
I0704 12:26:51.123913 5465 caffe.cpp:313] Batch 5, loss = 0.398108
I0704 12:26:51.724124 5465 caffe.cpp:313] Batch 6, accuracy = 0.73
I0704 12:26:51.724195 5465 caffe.cpp:313] Batch 6, loss = 0.712703
I0704 12:26:52.333739 5465 caffe.cpp:313] Batch 7, accuracy = 0.76
I0704 12:26:52.333806 5465 caffe.cpp:313] Batch 7, loss = 0.711946
I0704 12:26:52.934726 5465 caffe.cpp:313] Batch 8, accuracy = 0.8
I0704 12:26:52.934793 5465 caffe.cpp:313] Batch 8, loss = 0.67638
I0704 12:26:53.534425 5465 caffe.cpp:313] Batch 9, accuracy = 0.73
I0704 12:26:53.534492 5465 caffe.cpp:313] Batch 9, loss = 0.703718
I0704 12:26:53.534503 5465 caffe.cpp:318] Loss: 0.63358
I0704 12:26:53.534533 5465 caffe.cpp:330] accuracy = 0.779
I0704 12:26:53.534556 5465 caffe.cpp:330] loss = 0.63358 (* 1 = 0.63358 loss)
seag@seag-G41MT-S2PT:~/wsCaffe/caffe$
-------------------------------------------------------------------------------------------------------------------------------------------------------
测试:做100次迭代的结果
seag@seag-G41MT-S2PT:~/wsCaffe/caffe$
seag@seag-G41MT-S2PT:~/wsCaffe/caffe$ caffe test -model examples/cifar10/cifar10_full_train_test.prototxt -weights examples/cifar10/cifar10_full_iter_60000.caffemodel.h5 -iterations 100
I0704 13:12:44.414038 6622 caffe.cpp:284] Use CPU.
I0704 13:12:44.681273 6622 net.cpp:294] The NetState phase (1) differed from the phase (0) specified by a rule in layer cifar
I0704 13:12:44.681501 6622 net.cpp:51] Initializing net from parameters:
..............................
..............................
I0704 13:12:44.998669 6622 caffe.cpp:290] Running for 100 iterations.
I0704 13:12:45.619782 6622 caffe.cpp:313] Batch 0, accuracy = 0.81
I0704 13:12:45.619843 6622 caffe.cpp:313] Batch 0, loss = 0.669872
I0704 13:12:46.217348 6622 caffe.cpp:313] Batch 1, accuracy = 0.81
I0704 13:12:46.217408 6622 caffe.cpp:313] Batch 1, loss = 0.600901
I0704 13:12:46.818264 6622 caffe.cpp:313] Batch 2, accuracy = 0.72
I0704 13:12:46.818323 6622 caffe.cpp:313] Batch 2, loss = 0.712268
I0704 13:12:47.415946 6622 caffe.cpp:313] Batch 3, accuracy = 0.79
I0704 13:12:47.416007 6622 caffe.cpp:313] Batch 3, loss = 0.630273
I0704 13:12:48.015729 6622 caffe.cpp:313] Batch 4, accuracy = 0.8
I0704 13:12:48.015792 6622 caffe.cpp:313] Batch 4, loss = 0.519629
I0704 13:12:48.621882 6622 caffe.cpp:313] Batch 5, accuracy = 0.84
I0704 13:12:48.621939 6622 caffe.cpp:313] Batch 5, loss = 0.398108
I0704 13:12:49.227767 6622 caffe.cpp:313] Batch 6, accuracy = 0.73
I0704 13:12:49.227831 6622 caffe.cpp:313] Batch 6, loss = 0.712703
I0704 13:12:49.833628 6622 caffe.cpp:313] Batch 7, accuracy = 0.76
I0704 13:12:49.833700 6622 caffe.cpp:313] Batch 7, loss = 0.711946
I0704 13:12:50.431000 6622 caffe.cpp:313] Batch 8, accuracy = 0.8
I0704 13:12:50.431063 6622 caffe.cpp:313] Batch 8, loss = 0.67638
I0704 13:12:51.036695 6622 caffe.cpp:313] Batch 9, accuracy = 0.73
I0704 13:12:51.036754 6622 caffe.cpp:313] Batch 9, loss = 0.703718
I0704 13:12:51.654356 6622 caffe.cpp:313] Batch 10, accuracy = 0.81
I0704 13:12:51.654417 6622 caffe.cpp:313] Batch 10, loss = 0.628615
I0704 13:12:52.271215 6622 caffe.cpp:313] Batch 11, accuracy = 0.77
I0704 13:12:52.271272 6622 caffe.cpp:313] Batch 11, loss = 0.640812
I0704 13:12:52.871871 6622 caffe.cpp:313] Batch 12, accuracy = 0.84
I0704 13:12:52.871930 6622 caffe.cpp:313] Batch 12, loss = 0.48857
I0704 13:12:53.500851 6622 caffe.cpp:313] Batch 13, accuracy = 0.82
I0704 13:12:53.500921 6622 caffe.cpp:313] Batch 13, loss = 0.545125
I0704 13:12:54.106851 6622 caffe.cpp:313] Batch 14, accuracy = 0.83
I0704 13:12:54.106916 6622 caffe.cpp:313] Batch 14, loss = 0.454256
I0704 13:12:54.712241 6622 caffe.cpp:313] Batch 15, accuracy = 0.8
I0704 13:12:54.712308 6622 caffe.cpp:313] Batch 15, loss = 0.604123
I0704 13:12:55.317904 6622 caffe.cpp:313] Batch 16, accuracy = 0.82
I0704 13:12:55.317970 6622 caffe.cpp:313] Batch 16, loss = 0.602975
I0704 13:12:55.915468 6622 caffe.cpp:313] Batch 17, accuracy = 0.78
I0704 13:12:55.915534 6622 caffe.cpp:313] Batch 17, loss = 0.653725
I0704 13:12:56.521464 6622 caffe.cpp:313] Batch 18, accuracy = 0.74
I0704 13:12:56.521531 6622 caffe.cpp:313] Batch 18, loss = 0.775862
I0704 13:12:57.127270 6622 caffe.cpp:313] Batch 19, accuracy = 0.7
I0704 13:12:57.127341 6622 caffe.cpp:313] Batch 19, loss = 0.927896
I0704 13:12:57.724392 6622 caffe.cpp:313] Batch 20, accuracy = 0.75
I0704 13:12:57.724458 6622 caffe.cpp:313] Batch 20, loss = 0.631937
I0704 13:12:58.330080 6622 caffe.cpp:313] Batch 21, accuracy = 0.75
I0704 13:12:58.330200 6622 caffe.cpp:313] Batch 21, loss = 0.689163
I0704 13:12:58.927534 6622 caffe.cpp:313] Batch 22, accuracy = 0.79
I0704 13:12:58.927600 6622 caffe.cpp:313] Batch 22, loss = 0.718018
I0704 13:12:59.533542 6622 caffe.cpp:313] Batch 23, accuracy = 0.76
I0704 13:12:59.533630 6622 caffe.cpp:313] Batch 23, loss = 0.772289
I0704 13:13:00.131110 6622 caffe.cpp:313] Batch 24, accuracy = 0.78
I0704 13:13:00.131175 6622 caffe.cpp:313] Batch 24, loss = 0.616908
I0704 13:13:00.727895 6622 caffe.cpp:313] Batch 25, accuracy = 0.69
I0704 13:13:00.727962 6622 caffe.cpp:313] Batch 25, loss = 0.921352
I0704 13:13:01.324116 6622 caffe.cpp:313] Batch 26, accuracy = 0.86
I0704 13:13:01.324188 6622 caffe.cpp:313] Batch 26, loss = 0.43752
I0704 13:13:01.920688 6622 caffe.cpp:313] Batch 27, accuracy = 0.76
I0704 13:13:01.920760 6622 caffe.cpp:313] Batch 27, loss = 0.694387
I0704 13:13:02.518180 6622 caffe.cpp:313] Batch 28, accuracy = 0.88
I0704 13:13:02.518250 6622 caffe.cpp:313] Batch 28, loss = 0.503546
I0704 13:13:03.123641 6622 caffe.cpp:313] Batch 29, accuracy = 0.76
I0704 13:13:03.123706 6622 caffe.cpp:313] Batch 29, loss = 0.675348
I0704 13:13:03.729601 6622 caffe.cpp:313] Batch 30, accuracy = 0.75
I0704 13:13:03.729679 6622 caffe.cpp:313] Batch 30, loss = 0.641321
I0704 13:13:04.326668 6622 caffe.cpp:313] Batch 31, accuracy = 0.79
I0704 13:13:04.326732 6622 caffe.cpp:313] Batch 31, loss = 0.668134
I0704 13:13:04.932490 6622 caffe.cpp:313] Batch 32, accuracy = 0.78
I0704 13:13:04.932554 6622 caffe.cpp:313] Batch 32, loss = 0.587462
I0704 13:13:05.529435 6622 caffe.cpp:313] Batch 33, accuracy = 0.69
I0704 13:13:05.529508 6622 caffe.cpp:313] Batch 33, loss = 0.809499
I0704 13:13:06.125875 6622 caffe.cpp:313] Batch 34, accuracy = 0.72
I0704 13:13:06.125944 6622 caffe.cpp:313] Batch 34, loss = 0.841917
I0704 13:13:06.722806 6622 caffe.cpp:313] Batch 35, accuracy = 0.81
I0704 13:13:06.722877 6622 caffe.cpp:313] Batch 35, loss = 0.65033
I0704 13:13:07.328688 6622 caffe.cpp:313] Batch 36, accuracy = 0.74
I0704 13:13:07.328760 6622 caffe.cpp:313] Batch 36, loss = 0.73518
I0704 13:13:07.926215 6622 caffe.cpp:313] Batch 37, accuracy = 0.77
I0704 13:13:07.926282 6622 caffe.cpp:313] Batch 37, loss = 0.626204
I0704 13:13:08.531821 6622 caffe.cpp:313] Batch 38, accuracy = 0.84
I0704 13:13:08.531885 6622 caffe.cpp:313] Batch 38, loss = 0.50705
I0704 13:13:09.128522 6622 caffe.cpp:313] Batch 39, accuracy = 0.86
I0704 13:13:09.128587 6622 caffe.cpp:313] Batch 39, loss = 0.45618
I0704 13:13:09.725127 6622 caffe.cpp:313] Batch 40, accuracy = 0.82
I0704 13:13:09.725200 6622 caffe.cpp:313] Batch 40, loss = 0.594011
I0704 13:13:10.321892 6622 caffe.cpp:313] Batch 41, accuracy = 0.83
I0704 13:13:10.321964 6622 caffe.cpp:313] Batch 41, loss = 0.673196
I0704 13:13:10.918488 6622 caffe.cpp:313] Batch 42, accuracy = 0.85
I0704 13:13:10.918555 6622 caffe.cpp:313] Batch 42, loss = 0.45519
I0704 13:13:11.524237 6622 caffe.cpp:313] Batch 43, accuracy = 0.79
I0704 13:13:11.524307 6622 caffe.cpp:313] Batch 43, loss = 0.628985
I0704 13:13:12.129947 6622 caffe.cpp:313] Batch 44, accuracy = 0.78
I0704 13:13:12.130018 6622 caffe.cpp:313] Batch 44, loss = 0.704623
I0704 13:13:12.735232 6622 caffe.cpp:313] Batch 45, accuracy = 0.71
I0704 13:13:12.735304 6622 caffe.cpp:313] Batch 45, loss = 0.695174
I0704 13:13:13.340771 6622 caffe.cpp:313] Batch 46, accuracy = 0.84
I0704 13:13:13.340842 6622 caffe.cpp:313] Batch 46, loss = 0.552928
I0704 13:13:13.947043 6622 caffe.cpp:313] Batch 47, accuracy = 0.76
I0704 13:13:13.947109 6622 caffe.cpp:313] Batch 47, loss = 0.651739
I0704 13:13:14.553036 6622 caffe.cpp:313] Batch 48, accuracy = 0.82
I0704 13:13:14.553324 6622 caffe.cpp:313] Batch 48, loss = 0.441534
I0704 13:13:15.180112 6622 caffe.cpp:313] Batch 49, accuracy = 0.76
I0704 13:13:15.180176 6622 caffe.cpp:313] Batch 49, loss = 0.729064
I0704 13:13:15.779243 6622 caffe.cpp:313] Batch 50, accuracy = 0.8
I0704 13:13:15.779307 6622 caffe.cpp:313] Batch 50, loss = 0.584773
I0704 13:13:16.378615 6622 caffe.cpp:313] Batch 51, accuracy = 0.79
I0704 13:13:16.378679 6622 caffe.cpp:313] Batch 51, loss = 0.541237
I0704 13:13:16.978050 6622 caffe.cpp:313] Batch 52, accuracy = 0.79
I0704 13:13:16.978111 6622 caffe.cpp:313] Batch 52, loss = 0.656132
I0704 13:13:17.577879 6622 caffe.cpp:313] Batch 53, accuracy = 0.79
I0704 13:13:17.577941 6622 caffe.cpp:313] Batch 53, loss = 0.568454
I0704 13:13:18.177491 6622 caffe.cpp:313] Batch 54, accuracy = 0.72
I0704 13:13:18.177562 6622 caffe.cpp:313] Batch 54, loss = 0.797033
I0704 13:13:18.776235 6622 caffe.cpp:313] Batch 55, accuracy = 0.82
I0704 13:13:18.776298 6622 caffe.cpp:313] Batch 55, loss = 0.679914
I0704 13:13:19.375723 6622 caffe.cpp:313] Batch 56, accuracy = 0.76
I0704 13:13:19.375792 6622 caffe.cpp:313] Batch 56, loss = 0.681724
I0704 13:13:19.974643 6622 caffe.cpp:313] Batch 57, accuracy = 0.86
I0704 13:13:19.974711 6622 caffe.cpp:313] Batch 57, loss = 0.460299
I0704 13:13:20.574430 6622 caffe.cpp:313] Batch 58, accuracy = 0.78
I0704 13:13:20.574501 6622 caffe.cpp:313] Batch 58, loss = 0.694127
I0704 13:13:21.174055 6622 caffe.cpp:313] Batch 59, accuracy = 0.74
I0704 13:13:21.174118 6622 caffe.cpp:313] Batch 59, loss = 0.748216
I0704 13:13:21.804786 6622 caffe.cpp:313] Batch 60, accuracy = 0.79
I0704 13:13:21.804847 6622 caffe.cpp:313] Batch 60, loss = 0.566229
I0704 13:13:22.410190 6622 caffe.cpp:313] Batch 61, accuracy = 0.8
I0704 13:13:22.410251 6622 caffe.cpp:313] Batch 61, loss = 0.53662
I0704 13:13:23.011648 6622 caffe.cpp:313] Batch 62, accuracy = 0.77
I0704 13:13:23.011713 6622 caffe.cpp:313] Batch 62, loss = 0.630629
I0704 13:13:23.618448 6622 caffe.cpp:313] Batch 63, accuracy = 0.8
I0704 13:13:23.618508 6622 caffe.cpp:313] Batch 63, loss = 0.553974
I0704 13:13:24.215498 6622 caffe.cpp:313] Batch 64, accuracy = 0.82
I0704 13:13:24.215561 6622 caffe.cpp:313] Batch 64, loss = 0.640087
I0704 13:13:24.812703 6622 caffe.cpp:313] Batch 65, accuracy = 0.78
I0704 13:13:24.812767 6622 caffe.cpp:313] Batch 65, loss = 0.720206
I0704 13:13:25.417578 6622 caffe.cpp:313] Batch 66, accuracy = 0.85
I0704 13:13:25.417637 6622 caffe.cpp:313] Batch 66, loss = 0.469227
I0704 13:13:26.015293 6622 caffe.cpp:313] Batch 67, accuracy = 0.74
I0704 13:13:26.015355 6622 caffe.cpp:313] Batch 67, loss = 0.662439
I0704 13:13:26.621019 6622 caffe.cpp:313] Batch 68, accuracy = 0.73
I0704 13:13:26.621078 6622 caffe.cpp:313] Batch 68, loss = 0.832033
I0704 13:13:27.226202 6622 caffe.cpp:313] Batch 69, accuracy = 0.74
I0704 13:13:27.226261 6622 caffe.cpp:313] Batch 69, loss = 0.7851
I0704 13:13:27.831529 6622 caffe.cpp:313] Batch 70, accuracy = 0.79
I0704 13:13:27.831593 6622 caffe.cpp:313] Batch 70, loss = 0.594752
I0704 13:13:28.437043 6622 caffe.cpp:313] Batch 71, accuracy = 0.81
I0704 13:13:28.437101 6622 caffe.cpp:313] Batch 71, loss = 0.600966
I0704 13:13:29.034024 6622 caffe.cpp:313] Batch 72, accuracy = 0.89
I0704 13:13:29.034085 6622 caffe.cpp:313] Batch 72, loss = 0.544593
I0704 13:13:29.639663 6622 caffe.cpp:313] Batch 73, accuracy = 0.81
I0704 13:13:29.639719 6622 caffe.cpp:313] Batch 73, loss = 0.578454
I0704 13:13:30.245527 6622 caffe.cpp:313] Batch 74, accuracy = 0.71
I0704 13:13:30.245589 6622 caffe.cpp:313] Batch 74, loss = 0.85487
I0704 13:13:30.851264 6622 caffe.cpp:313] Batch 75, accuracy = 0.75
I0704 13:13:30.851325 6622 caffe.cpp:313] Batch 75, loss = 0.703642
I0704 13:13:31.448464 6622 caffe.cpp:313] Batch 76, accuracy = 0.77
I0704 13:13:31.448526 6622 caffe.cpp:313] Batch 76, loss = 0.702493
I0704 13:13:32.053625 6622 caffe.cpp:313] Batch 77, accuracy = 0.77
I0704 13:13:32.053694 6622 caffe.cpp:313] Batch 77, loss = 0.616773
I0704 13:13:32.659436 6622 caffe.cpp:313] Batch 78, accuracy = 0.77
I0704 13:13:32.659543 6622 caffe.cpp:313] Batch 78, loss = 0.624216
I0704 13:13:33.256774 6622 caffe.cpp:313] Batch 79, accuracy = 0.76
I0704 13:13:33.256835 6622 caffe.cpp:313] Batch 79, loss = 0.702435
I0704 13:13:33.862572 6622 caffe.cpp:313] Batch 80, accuracy = 0.83
I0704 13:13:33.862634 6622 caffe.cpp:313] Batch 80, loss = 0.479035
I0704 13:13:34.460429 6622 caffe.cpp:313] Batch 81, accuracy = 0.77
I0704 13:13:34.460491 6622 caffe.cpp:313] Batch 81, loss = 0.679997
I0704 13:13:35.066623 6622 caffe.cpp:313] Batch 82, accuracy = 0.76
I0704 13:13:35.066686 6622 caffe.cpp:313] Batch 82, loss = 0.668821
I0704 13:13:35.672404 6622 caffe.cpp:313] Batch 83, accuracy = 0.79
I0704 13:13:35.672462 6622 caffe.cpp:313] Batch 83, loss = 0.59493
I0704 13:13:36.277426 6622 caffe.cpp:313] Batch 84, accuracy = 0.77
I0704 13:13:36.277488 6622 caffe.cpp:313] Batch 84, loss = 0.636169
I0704 13:13:36.883759 6622 caffe.cpp:313] Batch 85, accuracy = 0.79
I0704 13:13:36.883818 6622 caffe.cpp:313] Batch 85, loss = 0.655568
I0704 13:13:37.489516 6622 caffe.cpp:313] Batch 86, accuracy = 0.79
I0704 13:13:37.489574 6622 caffe.cpp:313] Batch 86, loss = 0.637793
I0704 13:13:38.086877 6622 caffe.cpp:313] Batch 87, accuracy = 0.84
I0704 13:13:38.086935 6622 caffe.cpp:313] Batch 87, loss = 0.604765
I0704 13:13:38.691869 6622 caffe.cpp:313] Batch 88, accuracy = 0.81
I0704 13:13:38.691931 6622 caffe.cpp:313] Batch 88, loss = 0.525659
I0704 13:13:39.297114 6622 caffe.cpp:313] Batch 89, accuracy = 0.76
I0704 13:13:39.297176 6622 caffe.cpp:313] Batch 89, loss = 0.657071
I0704 13:13:39.902731 6622 caffe.cpp:313] Batch 90, accuracy = 0.81
I0704 13:13:39.902787 6622 caffe.cpp:313] Batch 90, loss = 0.5901
I0704 13:13:40.499342 6622 caffe.cpp:313] Batch 91, accuracy = 0.85
I0704 13:13:40.499403 6622 caffe.cpp:313] Batch 91, loss = 0.433673
I0704 13:13:41.105139 6622 caffe.cpp:313] Batch 92, accuracy = 0.76
I0704 13:13:41.105197 6622 caffe.cpp:313] Batch 92, loss = 0.68505
I0704 13:13:41.711143 6622 caffe.cpp:313] Batch 93, accuracy = 0.84
I0704 13:13:41.711205 6622 caffe.cpp:313] Batch 93, loss = 0.526908
I0704 13:13:42.317083 6622 caffe.cpp:313] Batch 94, accuracy = 0.81
I0704 13:13:42.317149 6622 caffe.cpp:313] Batch 94, loss = 0.54016
I0704 13:13:42.923281 6622 caffe.cpp:313] Batch 95, accuracy = 0.81
I0704 13:13:42.923348 6622 caffe.cpp:313] Batch 95, loss = 0.568361
I0704 13:13:42.924571 6628 data_layer.cpp:73] Restarting data prefetching from start.
I0704 13:13:43.529124 6622 caffe.cpp:313] Batch 96, accuracy = 0.82
I0704 13:13:43.529189 6622 caffe.cpp:313] Batch 96, loss = 0.455237
I0704 13:13:44.135169 6622 caffe.cpp:313] Batch 97, accuracy = 0.78
I0704 13:13:44.135228 6622 caffe.cpp:313] Batch 97, loss = 0.753922
I0704 13:13:44.740659 6622 caffe.cpp:313] Batch 98, accuracy = 0.73
I0704 13:13:44.740911 6622 caffe.cpp:313] Batch 98, loss = 0.709454
I0704 13:13:45.338565 6622 caffe.cpp:313] Batch 99, accuracy = 0.78
I0704 13:13:45.338631 6622 caffe.cpp:313] Batch 99, loss = 0.737646
I0704 13:13:45.338644 6622 caffe.cpp:318] Loss: 0.634399
I0704 13:13:45.338677 6622 caffe.cpp:330] accuracy = 0.7859
I0704 13:13:45.338701 6622 caffe.cpp:330] loss = 0.634399 (* 1 = 0.634399 loss)
识别猫:
seag@seag-G41MT-S2PT:~/wsCaffe/caffe$ classification examples/cifar10/cifar10_full.prototxt examples/cifar10/cifar10_full_iter_60000.caffemodel.h5 examples/cifar10/mean.binaryproto data/cifar10/synset_words.txt examples/images/cat.jpg
---------- Prediction for examples/images/cat.jpg ----------
0.7481 - " deer "
0.1352 - " bird "
0.0476 - " cat "
0.0162 - " frog "
0.0143 - " horse "
seag@seag-G41MT-S2PT:~/wsCaffe/caffe$
灰色猫:
seag@seag-G41MT-S2PT:~/wsCaffe/caffe$ classification examples/cifar10/cifar10_full.prototxt examples/cifar10/cifar10_full_iter_60000.caffemodel.h5 examples/cifar10/mean.binaryproto data/cifar10/synset_words.txt examples/images/cat_gray.jpg
---------- Prediction for examples/images/cat_gray.jpg ----------
0.2487 - " bird "
0.2476 - " horse "
0.1985 - " dog "
0.1277 - " cat "
0.0853 - " deer "
seag@seag-G41MT-S2PT:~/wsCaffe/caffe$
人鱼自行车:
seag@seag-G41MT-S2PT:~/wsCaffe/caffe$ classification examples/cifar10/cifar10_full.prototxt examples/cifar10/cifar10_full_iter_60000.caffemodel.h5 examples/cifar10/mean.binaryproto data/cifar10/synset_words.txt examples/images/fish-bike.jpg
---------- Prediction for examples/images/fish-bike.jpg ----------
0.6517 - " horse "
0.1291 - " truck "
0.0530 - " deer "
0.0441 - " cat "
0.0435 - " frog "
seag@seag-G41MT-S2PT:~/wsCaffe/caffe$
看起来效果很糟糕的。
caffe搭建以及初步学习--win7-vs2013-gtx650tiboost-cuda8.0-cifar10训练和测试-2-完整解决方案cifar10_full_solver.prototxt的更多相关文章
- caffe搭建以及初步学习--win7-vs2013-gtx650tiboost-cuda8.0-cifar10训练和测试-2-快速解决方案cifar10_quick_solver.prototxt
首先安装好显卡----已经装好了?喜大普奔!没装好?那就用cpu,也是一样的. 拷贝cudnn v5.0 头文件和库文件以及执行文件到cuda8中 -------------------------- ...
- 深度学习(TensorFlow)环境搭建:(三)Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3
紧接着上一篇的文章<深度学习(TensorFlow)环境搭建:(二)Ubuntu16.04+1080Ti显卡驱动>,这篇文章,主要讲解如何安装CUDA+CUDNN,不过前提是我们是已经把N ...
- OpenCV - win7+vs2013(2012)+opencv3.0.0 环境配置 (以及配置技巧)
1. opencv 3.0.0 库下载地址, 这里的版本是3.0.0,其他的版本配置可能不一样,请大家注意. http://sourceforge.net/projects/opencvlibrary ...
- caffe windows10 vs2015 cuda8.0 ->vs2013
http://blog.csdn.net/xjz18298268521/article/details/52190184 http://www.cnblogs.com/xuanyuyt/p/57269 ...
- caffe搭建--WINDOWS+VS2013下生成caffe并进行cifar10分类测试
http://blog.csdn.net/naaaa/article/details/52118437 标签: windowsvs2013caffecifar10 2016-08-04 15:33 1 ...
- Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a(转载)
Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a 最近于导师要求下,从头学习Caffe.之前接触了CNN进行了图片分类,后导师提起过Caff ...
- win10 + gtx1060 + cuda8.0 + caffe + vs2013
1. 安装cuda8.0 1)先去官网下载cuda8.0 https://developer.nvidia.com/cuda-toolkit 2)下载完之后进行安装,安装时间有点长,请耐心等待,默认 ...
- 老周的ABP框架系列教程 -》 一、框架理论初步学习
老周的ABP框架系列教程 -- 一.框架理论初步学习 1. ABP框架的来源与作用简介 1.1 简介 1.1.1 ABP框架全称为"ASP.NET Boilerplate ...
- EF Codefirst 初步学习(二)—— 程序管理命令 更新数据库
前提:搭建成功codefirst相关代码,参见EF Codefirst 初步学习(一)--设置codefirst开发模式 具体需要注意点如下: 1.确保实体类库程序生成成功 2.确保实体表类库不缺少 ...
随机推荐
- jquery工具方法总结
$.extend 对象合并,支持深拷贝 $.each 相当于array.each或object.each,可以遍历数组和对象 $.grep 相当于array.filter $.map 相当于array ...
- (转)Java字符串整形(例:0001)
原文地址:https://blog.csdn.net/xuexiiphone/article/details/51372692 caseID = preFix + String.format(&quo ...
- poj 3246 Game
Game Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 2707 Accepted: 488 Description W ...
- hdu 6119 小小粉丝度度熊
小小粉丝度度熊 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- ADO:DataSet合并两张表( ds.Merge(ds1))
原文发布时间为:2008-08-01 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...
- excel 表格lookup 的操作
这个实现语句如下,(写在2行然后向下拖动)(2007或以上版本): = IF(,ISBLANK($H2),$G2="), "", IF("), IF($H2&g ...
- webRTC windows demo1(转)
// setup video engine char cCameraName[MAX_CAMERA_NAME_LENGTH]; memset(cCameraName, , MAX_CAMERA_NAM ...
- C++的静态联编和动态联编详解
一.概述: 通常来说联编就是将模块或者函数合并在一起生成可执行代码的处理过程,同时对每个模块或者函数调用分配内存地址,并且对外部访问也分配正确的内存地址,它是计算机程序彼此关联的过程.按照联编所进行的 ...
- Xcode 如何计算整个项目的代码行数
参考链接:https://www.cnblogs.com/sunfuyou/p/7921538.html 1.打开终端 2.cd 空格 将工程的文件夹拖到终端上,回车,此时进入到工程的路径 此时已经进 ...
- Object 转 String
做项目中 : map 为Map<String,Object> a.setmoney(new BigDecimal((String)map.get("money"))); ...