Stefan Weil
8486f59493
unittest: Remove dependency on absl::StrFormat()
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-06 20:59:09 +02:00
Stefan Weil
fe5ca9dad9
unittest: Remove dependency on absl::GetCurrentTimeNanos()
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-06 20:59:09 +02:00
Stefan Weil
6b8b1f0007
unittest: Remove some dependencies on abseil
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-06 20:59:09 +02:00
Stefan Weil
d50baec7a7
cmake: Add dotproductneon.cpp
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-06 20:55:40 +02:00
zdenop
7975fec2fd
Add new cmake option -DFAST_FLOAT=ON for faster LSTM with float ( #3514 )
...
Co-authored-by: Stefan Weil <sw@weilnetz.de>
2021-08-05 21:35:54 +02:00
Stefan Weil
4c8799ac40
codeql-analysis: Disable analysis of Python code
...
It should be enabled again (and also the analysis for Java)
as soon as it does not compile all C++ code, too.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-03 11:53:51 +02:00
Stefan Weil
a73e7b97a4
Add float dotproduct implementation for NEON
...
Signed-off-by: Stefan Weil <stefan.weil@bib.uni-mannheim.de>
2021-08-03 10:35:22 +02:00
Stefan Weil
bb4a1219d7
Improve setting of dot product functions via environment variable
...
Apply the settings which are selected by environment variable DOTPRODUCT
after the autodetection which detects the available SIMD hardware.
'accelerate', 'fma' and 'std::inner_product' now no longer change
the setting for intSimdMatrix to 'generic' because they don't provide
their own implementation for it.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-03 10:34:33 +02:00
Stefan Weil
2786a887cd
Update codeql-analysis.yml for Tesseract autotools build
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-01 13:23:28 +02:00
Stefan Weil
ebae27435a
Update codeql-analysis.yml for Tesseract autotools build
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-01 13:17:45 +02:00
Stefan Weil
edcf4fcd3b
Fix comment
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-01 13:17:45 +02:00
Stefan Weil
40d12d0945
Create codeql-analysis.yml
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-01 12:54:30 +02:00
Amit D
c8bb526afb
Merge pull request #3510 from stweil/enable-float32
...
Add new configure option --enable-float32 for faster LSTM with float
2021-07-29 18:01:21 +03:00
Stefan Weil
0d0f203509
Add new configure option --enable-float32 for faster LSTM with float
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-29 06:49:08 +02:00
Stefan Weil
553ab64d8d
Rename UnicityTable<T>::get_id to UnicityTable<T>::get_index
...
This prepares replacing UnicityTable<FontInfo> by FontInfoTable.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-26 07:59:58 +02:00
Stefan Weil
c9f42ce62b
Add unittest for static TessBaseAPI object ( #3509 )
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-25 14:34:43 +03:00
Stefan Weil
df1295ea6b
Simplify *_VAR_H macros ( #3508 )
...
This avoids duplicate (and potentially inconsistent) code.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-25 12:09:07 +03:00
Amit D
e538cd7152
Merge pull request #3486 from stweil/tfloat
...
Add TFloat data type for neural network
2021-07-25 00:03:56 +03:00
Ger Hobbelt
27597883db
Implement DotProductSSE() for FAST_FLOAT
...
[sw] Formatted commit message
2021-07-24 15:14:17 +02:00
Ger Hobbelt
79e8b4f344
bugfixing the AVX2 Extract8+16 codes
...
There's lines like `__m256d scale01234567 = _mm256_loadu_ps(scales)`,
i.e. loading float vectors into double vector types.
[sw] Formatted commit message
2021-07-24 15:14:17 +02:00
Ger Hobbelt
24a29b79e5
bugfix of FMA port to FAST_FLOAT
...
8 float FPs fit in a single 256bit vector (8x32)
(contrasting 4 double FPs: 4*64)
[sw] Format commit message and use float instead of TFloat
2021-07-24 15:14:17 +02:00
Stefan Weil
472f5d9020
Add TFloat data type for neural network
...
Up to now Tesseract used double for training and recognition
with "best" models.
This commit replaces double by a new data type TFloat which
is double by default, but float if FAST_FLOAT is defined.
Ideally this should allow faster training.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-24 15:14:17 +02:00
Stefan Weil
66b77e6639
Prepare using float instead of double for LSTM calculations
...
The new header file ccutils/tesstypes.h also prepares support
for larger images by introducing a new data type for image
size and coordinates (still unused).
FloatToDouble is now a local function.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-24 13:59:37 +02:00
Stefan Weil
c3fb050daa
Remove TODO comment which is no longer open
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-24 11:20:29 +02:00
Stefan Weil
4df822a3fc
Revert "Merge pull request #3330 from Sintun/master" ( #3505 )
...
This reverts commit 122daf1d64
, reversing
changes made to 4cd56dc5f5
.
Those changes caused two regressions which resulted in an assertion
or a segmentation fault.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-22 09:04:23 +03:00
Stefan Weil
e176169a90
Remove stray spaces at line endings
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-20 20:59:15 +02:00
Ger Hobbelt
444fe14273
Fix a couple of 'shadowed local variables' compiler warnings
...
These fixes got through while I manually extracted the template work
from my mainline (warnings due to running MSVC at Level 4)
[sw]: Format commit message and use different fix for blamer.cpp
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-20 20:49:03 +02:00
Stefan Weil
0fc6d8d7f0
Add missing hint for dotproduct parameter value "fma"
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-20 20:44:29 +02:00
Ger Hobbelt
f72d4b1fe7
NEON arch: dead ref cycle fix
...
When neon_available_ is ON, the DotProduct was set to point to DotProduct,
which should have been DotProductNative, as dotProduct is the *target* global itself:
see simddetect.h --> effectively making that part of the SetDotProduct() call
identical to this (no-op) statement: `DotProduct = DotProduct;`
Also added the Neon check in the Update() API, where it exists together
with the other checks (for AVX/SSE/etc.)
[sw: formatted commit message and merged into main branch]
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-20 20:40:16 +02:00
Stefan Weil
dff7312aed
Modernize code in SIMDDetect::Update
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-20 20:16:49 +02:00
Stefan Weil
3ab8dcbf72
Use Apple Accelerate framework for training and best models
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-20 19:27:54 +02:00
Johannes Künsebeck
3be11f12a9
Removed unused parameters declarations and definitions
2021-07-20 15:08:10 +02:00
zdenop
8dd7936475
Solve clang reporting unused variable in ExtractMicros function ( #3501 )
...
* mark attribute as unused for compiler
* try c++17 standard https://en.cppreference.com/w/cpp/language/attributes/maybe_unused
2021-07-18 01:59:49 +02:00
SpaceIm
b2fea77a27
fix cross-build to iOS/tvOS/watchOS
...
On these OS, executables are bundle, and they need a BUNDLE DESTINATION, otherwise CMake configuration fails.
See https://cmake.org/cmake/help/latest/policy/CMP0006.html
2021-07-17 09:29:34 +02:00
nagadomi
7fe0624838
Fix spec string of convolution layer ( #3499 )
2021-07-16 18:21:52 +03:00
Stefan Weil
88d4028a5a
Enable pragma for SIMD also when _OPENMP is defined
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-15 16:03:43 +02:00
Stefan Weil
f0fb6809e3
Use SIMD instructions for DotProductNative
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-14 19:13:01 +02:00
Tadahito Yao
12e0fb4e01
Fix deadlock in lstmtraing. ( #3488 )
2021-07-10 10:59:10 +03:00
Stefan Weil
767fb5a177
Fix LSTMTrainerTest.BidiTest
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-04 18:41:19 +02:00
Stefan Weil
915c29e3c8
Fix IntSimdMatrixTest.AVX2
...
Fixes: 872816897a
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-04 09:07:35 +02:00
Stefan Weil
e0af8d12e6
Fix check for NEON on 32 bit ARM
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-03 15:43:10 +02:00
Stefan Weil
158c845228
Catch another FP division by 0 (fixes issue #3483 )
...
Rewriting the code avoids FP operations (so makes it potentially faster)
and fixes the division by 0.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-03 15:37:24 +02:00
Stefan Weil
4333b2cea3
Use CMAKE_SYSTEM_PROCESSOR to check for SIMD support options ( #3484 )
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-02 16:23:58 +03:00
Stefan Weil
4b630a8813
Catch FP division by 0 (fixes issue #3483 )
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-02 15:04:31 +02:00
Łukasz Nocuń
38f0fdcd88
Fix CMake Linux build ( #3478 )
2021-06-30 00:16:51 +03:00
OgreTransporter
4d0f027f58
Bugfix OpenMP with Visual Studio ( #3475 )
...
* Bugfix OpenMP with Visual Studio
* Test for working VS2019 update instead of first version of VS2019
2021-06-29 21:06:38 +03:00
Stefan Weil
a701454ae5
Fix vector resize with init for all elements (issue #3473 ) ( #3474 )
...
Fixes: c8b8d266d6
Fixes: 9710bc0465
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-06-29 21:05:29 +03:00
nagadomi
ff1062d39d
Add --reset_learning_rate option to lstmtraining ( #3470 )
...
When the --reset_learning_rate option is specified,
it resets the learning rate stored in each layer of the network
loaded with --continue_from to the value specified by the --learning_rate option.
If checkpoint is available, it does nothing.
2021-06-28 11:48:07 +03:00
nagadomi
d8bd78f8e2
Fix missing reset of best_error_history_ in LSTMTrainer::InitIterations() ( #3469 )
2021-06-27 09:26:32 +03:00
Stefan Weil
29e842df46
CI: Replace g++-8 by g++-11 for MacOS
...
g++-8 is no longer installed, therefore CI fails for that compiler.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-06-26 14:56:07 +02:00