Skip to content

Commit 8988438

Browse files
committed
fix float bug for python 2.7
1 parent 427fe01 commit 8988438

File tree

2 files changed

+34
-50
lines changed

2 files changed

+34
-50
lines changed

02-Logistic Regression/Logistic_Regression.py

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,11 @@
1414
num_epoches = 100
1515

1616
# 下载训练集 MNIST 手写数字训练集
17-
train_dataset = datasets.MNIST(root='./data', train=True,
18-
transform=transforms.ToTensor(),
19-
download=True)
17+
train_dataset = datasets.MNIST(
18+
root='./data', train=True, transform=transforms.ToTensor(), download=True)
2019

21-
test_dataset = datasets.MNIST(root='./data', train=False,
22-
transform=transforms.ToTensor())
20+
test_dataset = datasets.MNIST(
21+
root='./data', train=False, transform=transforms.ToTensor())
2322

2423
train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)
2524
test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False)
@@ -36,7 +35,7 @@ def forward(self, x):
3635
return out
3736

3837

39-
model = Logstic_Regression(28*28, 10) # 图片大小是28x28
38+
model = Logstic_Regression(28 * 28, 10) # 图片大小是28x28
4039
use_gpu = torch.cuda.is_available() # 判断是否有GPU加速
4140
if use_gpu:
4241
model = model.cuda()
@@ -46,8 +45,8 @@ def forward(self, x):
4645

4746
# 开始训练
4847
for epoch in range(num_epoches):
49-
print('epoch {}'.format(epoch+1))
50-
print('*'*10)
48+
print('epoch {}'.format(epoch + 1))
49+
print('*' * 10)
5150
running_loss = 0.0
5251
running_acc = 0.0
5352
for i, data in enumerate(train_loader, 1):
@@ -73,18 +72,14 @@ def forward(self, x):
7372

7473
if i % 300 == 0:
7574
print('[{}/{}] Loss: {:.6f}, Acc: {:.6f}'.format(
76-
epoch+1, num_epoches,
77-
running_loss/(batch_size*i),
78-
running_acc/(batch_size*i)
79-
))
75+
epoch + 1, num_epoches, running_loss / (batch_size * i),
76+
running_acc / (batch_size * i)))
8077
print('Finish {} epoch, Loss: {:.6f}, Acc: {:.6f}'.format(
81-
epoch+1,
82-
running_loss/(len(train_dataset)),
83-
running_acc/(len(train_dataset))
84-
))
78+
epoch + 1, running_loss / (len(train_dataset)), running_acc / (len(
79+
train_dataset))))
8580
model.eval()
86-
eval_loss = 0
87-
eval_acc = 0
81+
eval_loss = 0.
82+
eval_acc = 0.
8883
for data in test_loader:
8984
img, label = data
9085
img = img.view(img.size(0), -1)
@@ -96,14 +91,12 @@ def forward(self, x):
9691
label = Variable(label, volatile=True)
9792
out = model(img)
9893
loss = criterion(out, label)
99-
eval_loss += loss.data[0]*label.size(0)
94+
eval_loss += loss.data[0] * label.size(0)
10095
_, pred = torch.max(out, 1)
10196
num_correct = (pred == label).sum()
10297
eval_acc += num_correct.data[0]
103-
print('Test Loss: {:.6f}, Acc: {:.6f}'.format(
104-
eval_loss/(len(test_dataset)),
105-
eval_acc/(len(test_dataset))
106-
))
98+
print('Test Loss: {:.6f}, Acc: {:.6f}'.format(eval_loss / (len(
99+
test_dataset)), eval_acc / (len(test_dataset))))
107100
print()
108101

109102
# 保存模型

03-Neural Network/neural_network.py

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,14 @@
1313
num_epoches = 50
1414

1515
# 下载训练集 MNIST 手写数字训练集
16-
train_dataset = datasets.MNIST(root='./data', train=True,
17-
transform=transforms.ToTensor(),
18-
download=True)
16+
train_dataset = datasets.MNIST(
17+
root='./data', train=True, transform=transforms.ToTensor(), download=True)
1918

20-
test_dataset = datasets.MNIST(root='./data', train=False,
21-
transform=transforms.ToTensor())
19+
test_dataset = datasets.MNIST(
20+
root='./data', train=False, transform=transforms.ToTensor())
2221

23-
train_loader = DataLoader(train_dataset, batch_size=batch_size,
24-
shuffle=True)
25-
test_loader = DataLoader(test_dataset, batch_size=batch_size,
26-
shuffle=False)
22+
train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)
23+
test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False)
2724

2825

2926
# 定义简单的前馈神经网络
@@ -41,16 +38,16 @@ def forward(self, x):
4138
return x
4239

4340

44-
model = Neuralnetwork(28*28, 300, 100, 10)
41+
model = Neuralnetwork(28 * 28, 300, 100, 10)
4542
if torch.cuda.is_available():
4643
model = model.cuda()
4744

4845
criterion = nn.CrossEntropyLoss()
4946
optimizer = optim.SGD(model.parameters(), lr=learning_rate)
5047

5148
for epoch in range(num_epoches):
52-
print('epoch {}'.format(epoch+1))
53-
print('*'*10)
49+
print('epoch {}'.format(epoch + 1))
50+
print('*' * 10)
5451
running_loss = 0.0
5552
running_acc = 0.0
5653
for i, data in enumerate(train_loader, 1):
@@ -76,18 +73,14 @@ def forward(self, x):
7673

7774
if i % 300 == 0:
7875
print('[{}/{}] Loss: {:.6f}, Acc: {:.6f}'.format(
79-
epoch+1, num_epoches,
80-
running_loss/(batch_size*i),
81-
running_acc/(batch_size*i)
82-
))
76+
epoch + 1, num_epoches, running_loss / (batch_size * i),
77+
running_acc / (batch_size * i)))
8378
print('Finish {} epoch, Loss: {:.6f}, Acc: {:.6f}'.format(
84-
epoch+1,
85-
running_loss/(len(train_dataset)),
86-
running_acc/(len(train_dataset))
87-
))
79+
epoch + 1, running_loss / (len(train_dataset)), running_acc / (len(
80+
train_dataset))))
8881
model.eval()
89-
eval_loss = 0
90-
eval_acc = 0
82+
eval_loss = 0.
83+
eval_acc = 0.
9184
for data in test_loader:
9285
img, label = data
9386
img = img.view(img.size(0), -1)
@@ -99,14 +92,12 @@ def forward(self, x):
9992
label = Variable(label, volatile=True)
10093
out = model(img)
10194
loss = criterion(out, label)
102-
eval_loss += loss.data[0]*label.size(0)
95+
eval_loss += loss.data[0] * label.size(0)
10396
_, pred = torch.max(out, 1)
10497
num_correct = (pred == label).sum()
10598
eval_acc += num_correct.data[0]
106-
print('Test Loss: {:.6f}, Acc: {:.6f}'.format(
107-
eval_loss/(len(test_dataset)),
108-
eval_acc/(len(test_dataset))
109-
))
99+
print('Test Loss: {:.6f}, Acc: {:.6f}'.format(eval_loss / (len(
100+
test_dataset)), eval_acc / (len(test_dataset))))
110101
print()
111102

112103
# 保存模型

0 commit comments

Comments
 (0)