-
Notifications
You must be signed in to change notification settings - Fork 79
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
============================== Release Notes: v0.96 ============================== Support for new layers: - Log softmax - Basic math functions - Weights layer, which outputs a weights tensor - L2 norm squared - Binary cross entropy loss and sigmoid binary cross entropy loss - Boolean accuracy, Boolean false negative rate, Boolean false positive rate - Bilinear resize - Variance and covariance - Dilated and grouped convolution (GPU only) Performance optimizations: - Optimized GPU model-parallel softmax layer Model portability & usability: - Option for weight initialization with user-provided list of values - Callback to save any layer output as an image Internal features: - Provide compile time option to selectively disable OpenMP for data fetching loop - Thrust calls no longer involve the default CUDA stream I/O & data readers: - Reworked jag_conduit data reader: - Support the updated JAG simulation data output format - Use direct HDF5 I/O for on-demand data loading with Conduit - Ingest a unique set of data files per instance - Allow exclusive data partitioning among multiple trainers - Multi-channel images - Normalization of JAG data - Interface to select images of specific views and time indices - Interface to describe how to slice JAG data - Avoid redundant fetching and incoherent random number pulls in the group of local data readers - Improved threading performance by preallocating scratch space for loading samples Build system: - Support cross-compilation configurations in superbuild and SetupProtobuf
- Loading branch information
Showing
296 changed files
with
20,185 additions
and
10,130 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.cache |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
* | ||
!.gitignore | ||
!README.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
* | ||
!.gitignore | ||
!README.md |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import sys | ||
sys.path.insert(0, '../common_python') | ||
import tools | ||
import pytest | ||
import os | ||
|
||
def skeleton_layer_covariance(cluster, executables, dir_name, compiler_name): | ||
if compiler_name not in executables: | ||
pytest.skip('default_exes[%s] does not exist' % compiler_name) | ||
output_file_name = '%s/bamboo/unit_tests/output/layer_covariance_%s_output.txt' % (dir_name, compiler_name) | ||
error_file_name = '%s/bamboo/unit_tests/error/layer_covariance_%s_error.txt' % (dir_name, compiler_name) | ||
command = tools.get_command( | ||
cluster=cluster, executable=executables[compiler_name], num_nodes=1, num_processes=2, dir_name=dir_name, | ||
data_filedir_default='', data_reader_name='synthetic', | ||
model_folder='tests/layer_tests', model_name='covariance', optimizer_name='sgd', | ||
output_file_name=output_file_name, error_file_name=error_file_name) | ||
return_code = os.system(command) | ||
assert return_code == 0 | ||
|
||
def test_unit_layer_covariance_clang4(cluster, exes, dirname): | ||
skeleton_layer_covariance(cluster, exes, dirname, 'clang4') | ||
|
||
def test_unit_layer_covariance_gcc4_check(cluster, exes, dirname): | ||
if cluster in ['surface']: | ||
pytest.skip('FIXME') | ||
# Surface Errors: | ||
# assert 34304 == 0 | ||
skeleton_layer_covariance(cluster, exes, dirname, 'gcc4') | ||
|
||
def test_unit_layer_covariance_gcc7(cluster, exes, dirname): | ||
skeleton_layer_covariance(cluster, exes, dirname, 'gcc7') | ||
|
||
def test_unit_layer_covariance_intel18(cluster, exes, dirname): | ||
skeleton_layer_covariance(cluster, exes, dirname, 'intel18') | ||
|
||
# Run with python -m pytest -s test_unit_ridge_regression.py -k 'test_unit_layer_covariance_exe' --exe=<executable> | ||
def test_unit_layer_covariance_exe(cluster, dirname, exe): | ||
if exe == None: | ||
pytest.skip('Non-local testing') | ||
exes = {'exe' : exe} | ||
skeleton_layer_covariance(cluster, exes, dirname, 'exe') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import sys | ||
sys.path.insert(0, '../common_python') | ||
import tools | ||
import pytest | ||
import os | ||
|
||
def skeleton_layer_l2_norm2(cluster, executables, dir_name, compiler_name): | ||
if compiler_name not in executables: | ||
pytest.skip('default_exes[%s] does not exist' % compiler_name) | ||
output_file_name = '%s/bamboo/unit_tests/output/layer_l2_norm2_%s_output.txt' % (dir_name, compiler_name) | ||
error_file_name = '%s/bamboo/unit_tests/error/layer_l2_norm2_%s_error.txt' % (dir_name, compiler_name) | ||
command = tools.get_command( | ||
cluster=cluster, executable=executables[compiler_name], num_nodes=1, num_processes=2, dir_name=dir_name, | ||
data_filedir_default='', data_reader_name='synthetic', | ||
model_folder='tests/layer_tests', model_name='l2_norm2', optimizer_name='sgd', | ||
output_file_name=output_file_name, error_file_name=error_file_name) | ||
return_code = os.system(command) | ||
assert return_code == 0 | ||
|
||
def test_unit_layer_l2_norm2_clang4(cluster, exes, dirname): | ||
skeleton_layer_l2_norm2(cluster, exes, dirname, 'clang4') | ||
|
||
def test_unit_layer_l2_norm2_gcc4_check(cluster, exes, dirname): | ||
if cluster in ['surface']: | ||
pytest.skip('FIXME') | ||
# Surface Errors: | ||
# assert 34304 == 0 | ||
skeleton_layer_l2_norm2(cluster, exes, dirname, 'gcc4') | ||
|
||
def test_unit_layer_l2_norm2_gcc7(cluster, exes, dirname): | ||
skeleton_layer_l2_norm2(cluster, exes, dirname, 'gcc7') | ||
|
||
def test_unit_layer_l2_norm2_intel18(cluster, exes, dirname): | ||
skeleton_layer_l2_norm2(cluster, exes, dirname, 'intel18') | ||
|
||
# Run with python -m pytest -s test_unit_ridge_regression.py -k 'test_unit_layer_l2_norm2_exe' --exe=<executable> | ||
def test_unit_layer_l2_norm2_exe(cluster, dirname, exe): | ||
if exe == None: | ||
pytest.skip('Non-local testing') | ||
exes = {'exe' : exe} | ||
skeleton_layer_l2_norm2(cluster, exes, dirname, 'exe') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import sys | ||
sys.path.insert(0, '../common_python') | ||
import tools | ||
import pytest | ||
import os | ||
|
||
def skeleton_layer_log_softmax(cluster, executables, dir_name, compiler_name): | ||
if compiler_name not in executables: | ||
pytest.skip('default_exes[%s] does not exist' % compiler_name) | ||
output_file_name = '%s/bamboo/unit_tests/output/layer_log_softmax_%s_output.txt' % (dir_name, compiler_name) | ||
error_file_name = '%s/bamboo/unit_tests/error/layer_log_softmax_%s_error.txt' % (dir_name, compiler_name) | ||
command = tools.get_command( | ||
cluster=cluster, executable=executables[compiler_name], num_nodes=1, num_processes=2, dir_name=dir_name, | ||
data_filedir_default='', data_reader_name='synthetic', | ||
model_folder='tests/layer_tests', model_name='log_softmax', optimizer_name='sgd', | ||
output_file_name=output_file_name, error_file_name=error_file_name) | ||
return_code = os.system(command) | ||
assert return_code == 0 | ||
|
||
def test_unit_layer_log_softmax_clang4(cluster, exes, dirname): | ||
skeleton_layer_log_softmax(cluster, exes, dirname, 'clang4') | ||
|
||
def test_unit_layer_log_softmax_gcc4_check(cluster, exes, dirname): | ||
if cluster in ['surface']: | ||
pytest.skip('FIXME') | ||
# Surface Errors: | ||
# assert 34304 == 0 | ||
skeleton_layer_log_softmax(cluster, exes, dirname, 'gcc4') | ||
|
||
def test_unit_layer_log_softmax_gcc7(cluster, exes, dirname): | ||
skeleton_layer_log_softmax(cluster, exes, dirname, 'gcc7') | ||
|
||
def test_unit_layer_log_softmax_intel18(cluster, exes, dirname): | ||
skeleton_layer_log_softmax(cluster, exes, dirname, 'intel18') | ||
|
||
# Run with python -m pytest -s test_unit_ridge_regression.py -k 'test_unit_layer_log_softmax_exe' --exe=<executable> | ||
def test_unit_layer_log_softmax_exe(cluster, dirname, exe): | ||
if exe == None: | ||
pytest.skip('Non-local testing') | ||
exes = {'exe' : exe} | ||
skeleton_layer_log_softmax(cluster, exes, dirname, 'exe') |
Oops, something went wrong.