-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutils.py
More file actions
39 lines (31 loc) · 960 Bytes
/
utils.py
File metadata and controls
39 lines (31 loc) · 960 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import numpy as np
from mnist import MNIST
from scipy import sparse
from scipy import stats
from scipy.stats import truncnorm
import random
from scipy import stats
def readMNIST(dataset = "training", data_path = "./data/MNIST" ,debug=0):
mndata = MNIST(data_path)
if dataset is "training":
data, labels = mndata.load_training()
elif dataset is "testing":
data, labels = mndata.load_testing()
imgs=np.asfarray(data)
imgs=imgs/255
imgs=imgs+0.00001
if debug==1:
print(imgs[0])
print(np.max(imgs[0]))
print(np.shape(data))
show_img(imgs[0],28,28)
return imgs
def add_noise(trainData, noise_prob=0):
data_shape=trainData.shape
is_flipped =(np.random.rand(data_shape[0],data_shape[1])>noise_prob)
noisy_trainData=np.multiply(trainData,is_flipped)
return noisy_trainData
def genSparseMtx(rows,cols,prob):
rvs = stats.norm(loc=0, scale=0.3).rvs
S = sparse.random(rows,cols, density=prob, data_rvs=rvs,format='lil')
return S.tocsr()