def solution(N):
# write your code in Python 3.6
binary_num = bin(N)
arr_ = []
for i in range(2,len(binary_num)):
if binary_num[i] == '1':
arr_.append(i)
arr2_ = []
for i in range(0,len(arr_)):
if i != len(arr_) - 1:
tmp = arr_[i+1] - arr_[i]
tmp = tmp - 1
arr2_.append(tmp)
if len(arr2_) == 0:
return 0
else:
return max(arr2_)
pass
# 신경망 학습하기
- 이제 재미있는 부분이 시작됩니다. 단순히 데이터를 반복해서 신경망에 입력으로 제공하고, 최적화(Optimize)만 하면 됩니다.
a = 0 for epoch in range(1): # 데이터셋을 수차례 반복합니다.
running_loss = 0.0
for i, data in enumerate(train_loader, 0):
# [inputs, labels]의 목록인 data로부터 입력을 받은 후;
inputs, labels = data
# 변화도(Gradient) 매개변수를 0으로 만들고
optimizer.zero_grad()
# 순전파 + 역전파 + 최적화를 한 후
outputs = net(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
# 통계를 출력합니다.
running_loss += loss.item()
if i % 1000 == 999: # print every 2000 mini-batches
print('[%d, %5d] loss: %.3f' %
(epoch + 1, i + 1, running_loss / 1000))
running_loss = 0.0
a = a + 1
if a == 30000:
break