mirror of
https://github.com/autistic-symposium/tensorflow-for-deep-learning-py.git
synced 2025-05-12 11:42:14 -04:00
Clean up this scratch space
This commit is contained in:
parent
1de1667900
commit
ed0cead015
62 changed files with 39650 additions and 13 deletions
36
numpy_examples/Li.py
Normal file
36
numpy_examples/Li.py
Normal file
|
@ -0,0 +1,36 @@
|
|||
def L_i(x, y, W):
|
||||
"""
|
||||
unvectorized version. Compute the multiclass svm loss for a single example (x,y)
|
||||
- x is a column vector representing an image (e.g. 3073 x 1 in CIFAR-10)
|
||||
with an appended bias dimension in the 3073-rd position (i.e. bias trick)
|
||||
- y is an integer giving index of correct class (e.g. between 0 and 9 in CIFAR-10)
|
||||
- W is the weight matrix (e.g. 10 x 3073 in CIFAR-10)
|
||||
"""
|
||||
delta = 1.0 # see notes about delta later in this section
|
||||
scores = W.dot(x) # scores becomes of size 10 x 1, the scores for each class
|
||||
correct_class_score = scores[y]
|
||||
D = W.shape[0] # number of classes, e.g. 10
|
||||
loss_i = 0.0
|
||||
for j in xrange(D): # iterate over all wrong classes
|
||||
if j == y:
|
||||
# skip for the true class to only loop over incorrect classes
|
||||
continue
|
||||
# accumulate loss for the i-th example
|
||||
loss_i += max(0, scores[j] - correct_class_score + delta)
|
||||
return loss_i
|
||||
|
||||
def L_i_vectorized(x, y, W):
|
||||
"""
|
||||
A faster half-vectorized implementation. half-vectorized
|
||||
refers to the fact that for a single example the implementation contains
|
||||
no for loops, but there is still one loop over the examples (outside this function)
|
||||
"""
|
||||
delta = 1.0
|
||||
scores = W.dot(x)
|
||||
# compute the margins for all classes in one vector operation
|
||||
margins = np.maximum(0, scores - scores[y] + delta)
|
||||
# on y-th position scores[y] - scores[y] canceled and gave delta. We want
|
||||
# to ignore the y-th position and only consider margin on max wrong class
|
||||
margins[y] = 0
|
||||
loss_i = np.sum(margins)
|
||||
return loss_i
|
Loading…
Add table
Add a link
Reference in a new issue