diff --git a/llvm/projects/hpvm-tensor-rt/CMakeLists.txt b/llvm/projects/hpvm-tensor-rt/CMakeLists.txt index bb372be8b2ef2a0705486de8d346e9732abc96db..7359651100d8c181b29e2096ba73db9c026e51cb 100644 --- a/llvm/projects/hpvm-tensor-rt/CMakeLists.txt +++ b/llvm/projects/hpvm-tensor-rt/CMakeLists.txt @@ -129,8 +129,8 @@ target_link_libraries(unit_tests tensor_runtime ${GPU_PROFILER_LIB} ${SOC_SIMUL -add_executable(lenet_keras dnn_sources/src/lenet_keras.cc) -target_link_libraries(lenet_keras tensor_runtime ${GPU_PROFILER_LIB} ${SOC_SIMULATOR_LIB}) +add_executable(lenet_mnist dnn_sources/src/lenet_mnist.cc) +target_link_libraries(lenet_mnist tensor_runtime ${GPU_PROFILER_LIB} ${SOC_SIMULATOR_LIB}) add_executable(alexnet_cifar10 dnn_sources/src/alexnet_cifar10.cc) target_link_libraries(alexnet_cifar10 tensor_runtime ${GPU_PROFILER_LIB} ${SOC_SIMULATOR_LIB}) @@ -235,7 +235,7 @@ target_link_libraries(resnet50_imagenet_promise_install tensor_runtime_install #********* Half Precision Sources ****** -add_executable(lenet_half dnn_sources/src/half/lenet_keras_half.cc) +add_executable(lenet_half dnn_sources/src/half/lenet_mnist_half.cc) target_link_libraries(lenet_half tensor_runtime_online ${GPU_PROFILER_LIB} ${SOC_SIMULATOR_LIB}) add_executable(alexnet_half dnn_sources/src/half/alexnet_cifar10_half.cc) diff --git a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/half/lenet_keras_half.cc b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/half/lenet_mnist_half.cc similarity index 89% rename from llvm/projects/hpvm-tensor-rt/dnn_sources/src/half/lenet_keras_half.cc rename to llvm/projects/hpvm-tensor-rt/dnn_sources/src/half/lenet_mnist_half.cc index e4e8382ac64406ad27edc01b41cd8a342b510698..123d3a4429e6b358042d2c33703f678bf0dfc973 100644 --- a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/half/lenet_keras_half.cc +++ b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/half/lenet_mnist_half.cc @@ -30,7 +30,7 @@ void testLenetTanh(){ int test_batch_size = 5000; - std::string dir_prefix = std::string("../model_params/lenet_keras/"); + std::string dir_prefix = std::string("../model_params/lenet_mnist/"); std::string input_path = dir_prefix + std::string("input.bin"); std::string labels_path = dir_prefix + std::string("labels.bin"); @@ -40,21 +40,21 @@ void testLenetTanh(){ void* input = readInputBatch(input_path.c_str(),0, 0,test_batch_size,1,28,28); uint8_t* labels = readLabelsBatch(labels_path.c_str(), 0,test_batch_size); - void* conv1_filter = readTrainedWeights("../model_params/lenet_keras/conv1.bin", + void* conv1_filter = readTrainedWeights("../model_params/lenet_mnist/conv1.bin", float_type, 32, 1, 5, 5); - void* conv1_bias = readTrainedWeights("../model_params/lenet_keras/conv1_bias.bin", + void* conv1_bias = readTrainedWeights("../model_params/lenet_mnist/conv1_bias.bin", float_type, 1, 32, 1, 1); - void* conv2_filter = readTrainedWeights("../model_params/lenet_keras/conv2.bin", + void* conv2_filter = readTrainedWeights("../model_params/lenet_mnist/conv2.bin", float_type, 64, 32, 5, 5); - void* conv2_bias = readTrainedWeights("../model_params/lenet_keras/conv2_bias.bin", + void* conv2_bias = readTrainedWeights("../model_params/lenet_mnist/conv2_bias.bin", float_type, 1, 64, 1, 1); - void* fc1_weights = readTrainedWeights("../model_params/lenet_keras/fc1.bin", + void* fc1_weights = readTrainedWeights("../model_params/lenet_mnist/fc1.bin", float_type, 1, 1, 7*7*64, 1024); - void* fc1_bias = readTrainedWeights("../model_params/lenet_keras/fc1_bias.bin", + void* fc1_bias = readTrainedWeights("../model_params/lenet_mnist/fc1_bias.bin", float_type, 1, 1024, 1, 1); - void* fc2_weights = readTrainedWeights("../model_params/lenet_keras/fc2.bin", + void* fc2_weights = readTrainedWeights("../model_params/lenet_mnist/fc2.bin", float_type, 1, 1, 1024, 10); - void* fc2_bias = readTrainedWeights("../model_params/lenet_keras/fc2_bias.bin", + void* fc2_bias = readTrainedWeights("../model_params/lenet_mnist/fc2_bias.bin", float_type, 1, 10, 1, 1); diff --git a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/lenet_keras.cc b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/lenet_mnist.cc similarity index 89% rename from llvm/projects/hpvm-tensor-rt/dnn_sources/src/lenet_keras.cc rename to llvm/projects/hpvm-tensor-rt/dnn_sources/src/lenet_mnist.cc index bd028ce5e66cf0af026f79c70f30c958da9fc247..1b73645354ae70a53bd63bc864cae80420fdff1d 100644 --- a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/lenet_keras.cc +++ b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/lenet_mnist.cc @@ -31,33 +31,32 @@ void testLenetTanh(){ int test_batch_size = 5000; - std::string dir_prefix = std::string("../model_params/lenet_keras/"); + std::string dir_prefix = std::string("../model_params/lenet_mnist/"); std::string input_path = dir_prefix + std::string("input.bin"); std::string labels_path = dir_prefix + std::string("labels.bin"); std::string labels32_path = dir_prefix + std::string("labels32.bin"); - // Loading Input Batch void* input = readInputBatch(input_path.c_str(),0, 0,test_batch_size,1,28,28); uint8_t* labels = readLabelsBatch(labels_path.c_str(), 0,test_batch_size); - void* conv1_filter = readTrainedWeights("../model_params/lenet_keras/conv1.bin", + void* conv1_filter = readTrainedWeights("../model_params/lenet_mnist/conv1.bin", float_type, 32, 1, 5, 5); - void* conv1_bias = readTrainedWeights("../model_params/lenet_keras/conv1_bias.bin", + void* conv1_bias = readTrainedWeights("../model_params/lenet_mnist/conv1_bias.bin", float_type, 1, 32, 1, 1); - void* conv2_filter = readTrainedWeights("../model_params/lenet_keras/conv2.bin", + void* conv2_filter = readTrainedWeights("../model_params/lenet_mnist/conv2.bin", float_type, 64, 32, 5, 5); - void* conv2_bias = readTrainedWeights("../model_params/lenet_keras/conv2_bias.bin", + void* conv2_bias = readTrainedWeights("../model_params/lenet_mnist/conv2_bias.bin", float_type, 1, 64, 1, 1); - void* fc1_weights = readTrainedWeights("../model_params/lenet_keras/fc1.bin", + void* fc1_weights = readTrainedWeights("../model_params/lenet_mnist/fc1.bin", float_type, 1, 1, 7*7*64, 1024); - void* fc1_bias = readTrainedWeights("../model_params/lenet_keras/fc1_bias.bin", + void* fc1_bias = readTrainedWeights("../model_params/lenet_mnist/fc1_bias.bin", float_type, 1, 1024, 1, 1); - void* fc2_weights = readTrainedWeights("../model_params/lenet_keras/fc2.bin", + void* fc2_weights = readTrainedWeights("../model_params/lenet_mnist/fc2.bin", float_type, 1, 1, 1024, 10); - void* fc2_bias = readTrainedWeights("../model_params/lenet_keras/fc2_bias.bin", + void* fc2_bias = readTrainedWeights("../model_params/lenet_mnist/fc2_bias.bin", float_type, 1, 10, 1, 1); diff --git a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/lenet_promise.cc b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/lenet_promise.cc index d01bd2936bdab22c86f6b6e5eda4157548010061..e1428589c3f48a5879b9f5c9c73980e4d3ca9ff0 100644 --- a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/lenet_promise.cc +++ b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/lenet_promise.cc @@ -31,7 +31,7 @@ void testLenetTanh(){ printf("********* Lenet-5 Architecture ********** \n"); - std::string dir_prefix = std::string("../model_params/lenet_keras/"); + std::string dir_prefix = std::string("../model_params/lenet_mnist/"); std::string input_path = dir_prefix + std::string("input.bin"); std::string labels_path = dir_prefix + std::string("labels.bin"); std::string labels32_path = dir_prefix + std::string("labels32.bin"); @@ -54,21 +54,21 @@ void testLenetTanh(){ void* input = readInputBatch(input_path.c_str(),0,start,end,1,28,28); // Loading Weights - void* conv1_filter = readTrainedWeights("../model_params/lenet_keras/conv1.bin", + void* conv1_filter = readTrainedWeights("../model_params/lenet_mnist/conv1.bin", float_type, 32, 1, 5, 5); - void* conv1_bias = readTrainedWeights("../model_params/lenet_keras/conv1_bias.bin", + void* conv1_bias = readTrainedWeights("../model_params/lenet_mnist/conv1_bias.bin", float_type, 1, 32, 1, 1); - void* conv2_filter = readTrainedWeights("../model_params/lenet_keras/conv2.bin", + void* conv2_filter = readTrainedWeights("../model_params/lenet_mnist/conv2.bin", float_type, 64, 32, 5, 5); - void* conv2_bias = readTrainedWeights("../model_params/lenet_keras/conv2_bias.bin", + void* conv2_bias = readTrainedWeights("../model_params/lenet_mnist/conv2_bias.bin", float_type, 1, 64, 1, 1); - void* fc1_weights = readTrainedWeights("../model_params/lenet_keras/fc1.bin", + void* fc1_weights = readTrainedWeights("../model_params/lenet_mnist/fc1.bin", float_type, 1, 1, 7*7*64, 1024); - void* fc1_bias = readTrainedWeights("../model_params/lenet_keras/fc1_bias.bin", + void* fc1_bias = readTrainedWeights("../model_params/lenet_mnist/fc1_bias.bin", float_type, 1, 1024, 1, 1); - void* fc2_weights = readTrainedWeights("../model_params/lenet_keras/fc2.bin", + void* fc2_weights = readTrainedWeights("../model_params/lenet_mnist/fc2.bin", float_type, 1, 1, 1024, 10); - void* fc2_bias = readTrainedWeights("../model_params/lenet_keras/fc2_bias.bin", + void* fc2_bias = readTrainedWeights("../model_params/lenet_mnist/fc2_bias.bin", float_type, 1, 10, 1, 1); diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/conv1.bias.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/conv1.bias.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/conv1.bias.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/conv1.bias.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/conv1.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/conv1.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/conv1.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/conv1.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/conv2.bias.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/conv2.bias.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/conv2.bias.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/conv2.bias.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/conv2.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/conv2.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/conv2.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/conv2.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/datasets/t10k-images-idx3-ubyte b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/datasets/t10k-images-idx3-ubyte similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/datasets/t10k-images-idx3-ubyte rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/datasets/t10k-images-idx3-ubyte diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/datasets/t10k-labels-idx1-ubyte b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/datasets/t10k-labels-idx1-ubyte similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/datasets/t10k-labels-idx1-ubyte rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/datasets/t10k-labels-idx1-ubyte diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/input.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/input.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/input.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/input.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/ip1.bias.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/ip1.bias.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/ip1.bias.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/ip1.bias.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/ip1.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/ip1.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/ip1.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/ip1.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/ip2.bias.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/ip2.bias.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/ip2.bias.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/ip2.bias.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/ip2.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/ip2.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/ip2.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/ip2.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/labels.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/labels.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/labels.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/labels.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/mnist_float_input.bin b/llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/mnist_float_input.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/mnist_float_input.bin rename to llvm/projects/hpvm-tensor-rt/model_params/legacy/lenet_params/mnist_float_input.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/conv1.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/conv1.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/conv1.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/conv1.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/conv1_bias.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/conv1_bias.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/conv1_bias.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/conv1_bias.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/conv2.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/conv2.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/conv2.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/conv2.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/conv2_bias.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/conv2_bias.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/conv2_bias.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/conv2_bias.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/fc1.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/fc1.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/fc1.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/fc1.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/fc1_bias.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/fc1_bias.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/fc1_bias.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/fc1_bias.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/fc2.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/fc2.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/fc2.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/fc2.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/fc2_bias.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/fc2_bias.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/fc2_bias.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/fc2_bias.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/input.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/input.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/input.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/input.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_params/labels.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/labels.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_params/labels.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/labels.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/labels32.bin b/llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/labels32.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/lenet_keras/labels32.bin rename to llvm/projects/hpvm-tensor-rt/model_params/lenet_mnist/labels32.bin diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet.cpp index 0efa41df80731b911a0742902327f0577f70d838..e18f0a831be4070a8db48134ec5fa9197cc0d23a 100644 --- a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet.cpp +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet.cpp @@ -272,7 +272,7 @@ RootIn; int main(){ - std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/lenet_keras/"); + std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/lenet_mnist/"); std::string input_path = dir_prefix + std::string("input.bin"); std::string labels_path = dir_prefix + std::string("labels32.bin"); diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_loop.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_loop.cpp index 88f302256933bae34169fa051559ef42adfd321b..9487959b3002d27d9f4530988698f642aa84ae52 100644 --- a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_loop.cpp +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_loop.cpp @@ -272,7 +272,7 @@ RootIn; int main(){ - std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/lenet_keras/"); + std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/lenet_mnist/"); std::string input_path = dir_prefix + std::string("input.bin"); std::string labels_path = dir_prefix + std::string("labels32.bin"); diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_promise.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_promise.cpp index 78a8dc52509adc7fac59684c6bceec303904a13c..e1cf6d2c217c19534ea4f9c3d97d55d8e00cb7cd 100644 --- a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_promise.cpp +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_promise.cpp @@ -272,7 +272,7 @@ RootIn; int main(){ - std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/lenet_keras/"); + std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/lenet_mnist/"); std::string input_path = dir_prefix + std::string("input.bin"); std::string labels_path = dir_prefix + std::string("labels32.bin");