You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@singa.apache.org by wa...@apache.org on 2020/04/06 14:30:27 UTC
[singa] branch dev updated: fix_mnist_example
This is an automated email from the ASF dual-hosted git repository.
wangwei pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/singa.git
The following commit(s) were added to refs/heads/dev by this push:
new 21371da fix_mnist_example
new 10499c7 Merge pull request #657 from joddiy/fix_mnist_example
21371da is described below
commit 21371da9360b647afe536a63d25f45ab425e1e12
Author: joddiy <jo...@qq.com>
AuthorDate: Mon Apr 6 20:52:25 2020 +0800
fix_mnist_example
---
examples/mnist/train.py | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/examples/mnist/train.py b/examples/mnist/train.py
index 8a81548..2c09423 100755
--- a/examples/mnist/train.py
+++ b/examples/mnist/train.py
@@ -20,6 +20,7 @@ from builtins import range
import numpy as np
import os
+import sys
import gzip
import argparse
try:
@@ -35,7 +36,10 @@ from singa import tensor
def load_train_data(file_path):
f = gzip.open(file_path, 'rb')
- train_set, valid_set, test_set = pickle.load(f)
+ if sys.version_info.major > 2:
+ train_set, valid_set, test_set = pickle.load(f, encoding='latin1')
+ else:
+ train_set, valid_set, test_set = pickle.load(f)
traindata = train_set[0].astype(np.float32)
validdata = valid_set[0].astype(np.float32)
print(traindata.shape, validdata.shape)
@@ -77,7 +81,7 @@ def train(data_file, use_gpu, num_epoch=10, batch_size=100):
train_x[(b * batch_size):((b + 1) * batch_size), :])
tdata.to_device(dev)
tposhidprob = tensor.mult(tdata, tweight)
- tposhidprob.add_row(thbias)
+ tposhidprob = tposhidprob + thbias
tposhidprob = tensor.sigmoid(tposhidprob)
tposhidrandom = tensor.Tensor(tposhidprob.shape, dev)
tposhidrandom.uniform(0.0, 1.0)
@@ -85,11 +89,11 @@ def train(data_file, use_gpu, num_epoch=10, batch_size=100):
# negative phase
tnegdata = tensor.mult(tposhidsample, tweight.T())
- tnegdata.add_row(tvbias)
+ tnegdata = tnegdata + tvbias
tnegdata = tensor.sigmoid(tnegdata)
tneghidprob = tensor.mult(tnegdata, tweight)
- tneghidprob.add_row(thbias)
+ tneghidprob = tneghidprob + thbias
tneghidprob = tensor.sigmoid(tneghidprob)
error = tensor.sum(tensor.square((tdata - tnegdata)))
trainerrorsum = error + trainerrorsum
@@ -109,14 +113,14 @@ def train(data_file, use_gpu, num_epoch=10, batch_size=100):
tvaliddata = tensor.from_numpy(valid_x)
tvaliddata.to_device(dev)
tvalidposhidprob = tensor.mult(tvaliddata, tweight)
- tvalidposhidprob.add_row(thbias)
+ tvalidposhidprob = tvalidposhidprob + thbias
tvalidposhidprob = tensor.sigmoid(tvalidposhidprob)
tvalidposhidrandom = tensor.Tensor(tvalidposhidprob.shape, dev)
initializer.uniform(tvalidposhidrandom, 0.0, 1.0)
tvalidposhidsample = tensor.gt(tvalidposhidprob, tvalidposhidrandom)
tvalidnegdata = tensor.mult(tvalidposhidsample, tweight.T())
- tvalidnegdata.add_row(tvbias)
+ tvalidnegdata = tvalidnegdata + tvbias
tvalidnegdata = tensor.sigmoid(tvalidnegdata)
validerrorsum = tensor.sum(tensor.square((tvaliddata - tvalidnegdata)))