Skip to content

Commit

Permalink
Fixed missing commits.
Browse files Browse the repository at this point in the history
  • Loading branch information
JKamlah authored and JKamlah committed Dec 23, 2017
1 parent b2d8a1f commit c6edcea
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 54 deletions.
37 changes: 4 additions & 33 deletions ocrolib/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -621,8 +621,10 @@ def ocropus_find_file(fname, gz=True):

possible_prefixes.append("/usr/local/share/ocropus")

possible_prefixes.append(os.path.join(
sysconfig.get_config_var("datarootdir"), "ocropus"))
# datarootdir is None in windows so don't add it to search list
if sysconfig.get_config_var("datarootdir") is not None:
possible_prefixes.append(os.path.join(
sysconfig.get_config_var("datarootdir"), "ocropus"))


# Unique entries with preserved order in possible_prefixes
Expand Down Expand Up @@ -765,37 +767,6 @@ def ustrg2unicode(u,lig=ligatures.lig):
result += "<%d>"%value
return result

### code for instantiation native components

def pyconstruct(s):
"""Constructs a Python object from a constructor, an expression
of the form x.y.z.name(args). This ensures that x.y.z is imported.
In the future, more forms of syntax may be accepted."""
env = {}
if "(" not in s:
s += "()"
path = s[:s.find("(")]
if "." in path:
module = path[:path.rfind(".")]
print("import", module)
exec "import "+module in env
return eval(s,env)

def mkpython(name):
"""Tries to instantiate a Python class. Gives an error if it looks
like a Python class but can't be instantiated. Returns None if it
doesn't look like a Python class."""
if name is None or len(name)==0:
return None
elif type(name) is not str:
return name()
elif name[0]=="=":
return pyconstruct(name[1:])
elif "(" in name or "." in name:
return pyconstruct(name)
else:
return None

################################################################
### loading and saving components
################################################################
Expand Down
27 changes: 8 additions & 19 deletions ocrolib/lstm.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
from collections import defaultdict
from ocrolib.exceptions import RecognitionError
from ocrolib.edist import levenshtein
import nutils
import utils
import unicodedata
import sys
from scipy.ndimage import measurements,filters
Expand Down Expand Up @@ -92,17 +92,6 @@ def sumouter(us,vs,lo=-1.0,hi=1.0,out=None):
result += outer(clip(u,lo,hi),v)
return result

def sumprod(us,vs,lo=-1.0,hi=1.0,out=None):
"""Sum the element-wise products of the `us` and `vs`.
Values are clipped into the range `[lo,hi]`.
This is mainly used for computing weight updates
in logistic regression layers."""
assert len(us[0])==len(vs[0])
result = out or zeros(len(us[0]))
for u,v in zip(us,vs):
result += clip(u,lo,hi)*v
return result

class Network:
"""General interface for networks. This mainly adds convenience
functions for `predict` and `train`.
Expand Down Expand Up @@ -472,13 +461,13 @@ def backward_py(n,N,ni,ns,na,deltas,
sourceerr[t] += dot(gferr[t],WGF)
sourceerr[t] += dot(goerr[t],WGO)
sourceerr[t] += dot(cierr[t],WCI)
DWIP = nutils.sumprod(gierr[1:n],state[:n-1],out=DWIP)
DWFP = nutils.sumprod(gferr[1:n],state[:n-1],out=DWFP)
DWOP = nutils.sumprod(goerr[:n],state[:n],out=DWOP)
DWGI = nutils.sumouter(gierr[:n],source[:n],out=DWGI)
DWGF = nutils.sumouter(gferr[1:n],source[1:n],out=DWGF)
DWGO = nutils.sumouter(goerr[:n],source[:n],out=DWGO)
DWCI = nutils.sumouter(cierr[:n],source[:n],out=DWCI)
DWIP = utils.sumprod(gierr[1:n],state[:n-1],out=DWIP)
DWFP = utils.sumprod(gferr[1:n],state[:n-1],out=DWFP)
DWOP = utils.sumprod(goerr[:n],state[:n],out=DWOP)
DWGI = utils.sumouter(gierr[:n],source[:n],out=DWGI)
DWGF = utils.sumouter(gferr[1:n],source[1:n],out=DWGF)
DWGO = utils.sumouter(goerr[:n],source[:n],out=DWGO)
DWCI = utils.sumouter(cierr[:n],source[:n],out=DWCI)

class LSTM(Network):
"""A standard LSTM network. This is a direct implementation of all the forward
Expand Down
2 changes: 0 additions & 2 deletions ocropus-rpred
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

from __future__ import print_function


import traceback
import codecs
import os.path
Expand All @@ -13,7 +12,6 @@ from collections import Counter
from collections import OrderedDict as OD
import json


import matplotlib.pyplot as plt
import numpy as np
from scipy.ndimage import measurements
Expand Down

0 comments on commit c6edcea

Please sign in to comment.