Davout 0.1.1.dev145__tar.gz → 0.1.1.dev147__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {davout-0.1.1.dev145/source/Davout.egg-info → davout-0.1.1.dev147}/PKG-INFO +1 -1
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/pyproject.toml +1 -1
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_based_NNs.py +252 -15
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_tools.py +33 -25
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/custom_architectures/SVD_quotient_space.py +313 -75
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/ANN_tools.py +10 -4
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/SVD_tools.py +122 -15
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/string_tools.py +19 -2
- davout-0.1.1.dev147/source/Davout/PythonicUtilities/testing_tools.py +363 -0
- davout-0.1.1.dev147/source/Davout/StochasticUtilities/tool_box/statistics_tools.py +26 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147/source/Davout.egg-info}/PKG-INFO +1 -1
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout.egg-info/SOURCES.txt +2 -1
- davout-0.1.1.dev145/source/Davout/PythonicUtilities/testing_tools.py +0 -122
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/LICENSE +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/README.md +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/setup.cfg +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/setup.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_artery.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_matrix_with_fiber.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/elastin_fiber_creator.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_artery_transfinite.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_matrix_with_fiber_transfinite.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/elastin_fiber_creator.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/spherical_RVE.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale_ellipsoid.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/beam_micropolar_case_1.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/artery_parameters.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/fiber_matrix_parameters.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/periodic_structure.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/solids/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/solids/intervertebral_disc.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/solids/whole_ensemble_of_geometries.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/cuboid_cylinders.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/cuboid_ellipsoids.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/cuboid_generator.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/cuboid_helicoids.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/cuboid_prisms.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/geometric_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/mesh_data_retriever.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/meshing_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/region_finder.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/verification_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/PINNs/Physics/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/PINNs/Physics/elasticity_equation.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/PINNs/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/box_with_imposed_displacement_gradient.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/box_with_young_modulus_field.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/dataset_generator.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/input_data_filler.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/kinematics_surrogate_model.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/young_modulus_field_generator.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/heat_equation.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/box_with_imposed_displacement_gradient.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/box_with_young_modulus_field.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/dataset_generator.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/input_data_filler.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/neural_network_trainer.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/young_modulus_field_generator.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_optimization.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_convex_and_partially_convex_input_NNs.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_math_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_quotient_space_NNs.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_tensor_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/custom_architectures/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/custom_architectures/convexity_concerned_NNs.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/custom_architectures/gated_quotient_space.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/custom_architectures/generic_feed_forward.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/activation_function_utilities.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/custom_activation_functions.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/differentiation_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/loss_assembler_classes.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/loss_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/math_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/numerical_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/parameters_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/tensor_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/training_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/REPL_experiments.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/optimization/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/optimization/tests_optimization_methods.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/tests_batching.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/tests_finite_elements.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/tests_loss_function.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/tests_physics.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/unidimensional/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/unidimensional/bar_fea.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/unidimensional/hyperelastic_1D_energies.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/unidimensional/variational_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/assembly/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/assembly/body_forces_work.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/assembly/dirichlet_boundary_conditions_enforcer.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/assembly/hyperelastic_internal_work.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/assembly/surface_forces_work.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/constitutive_models/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/constitutive_models/hyperelastic_isotropic_models.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/elements_manager.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/finite_element_dispatcher.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/surface_elements/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/surface_elements/triangles.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/volume_elements/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/volume_elements/tetrahedrons.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/optimization/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/optimization/conditioning_matrices.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/optimization/loss_functions.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/optimization/neural_network_assembler.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/optimization/objective_function.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/physics/compressible_cauchy_hyperelasticy.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/constitutive_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/dirichlet_loading_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/math_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/mesh_info_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/mesh_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/neumann_loading_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/node_ordering.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/optimization_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/parametric_curves_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/sensitivity_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/tensorflow_utilities.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/cauchy_tetrahedron.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/continuum_mechanics_potato_collage.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/fake_book_spines.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/null_space_architecture.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/tests_collage_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/tests_delaunay.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/tests_paraview_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/tests_plotting_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/collage_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/paraview_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/plotting_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/arrows_lines_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/box_and_markers_classes.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/box_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/collage_classes.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/curves_setter.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/image_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/interactivity_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/paraview_scripts.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/perspective_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/text_excerpt_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/LaTeXUtilities.sty +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/aa_tests/latex_parser_tests.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/latex_parser.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/tool_box/command_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/tool_box/parsing_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/tool_box/sty_file_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/heat_transfer/heat_box.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/beam_with_fibers.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/box_with_young_modulus_field.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_HGO.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean_incompressible.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/hyperelastic_box.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/incompressible_hyperelastic_box.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/cylindrical_coordinates_material_property.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/disc_HGO.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/local_coordinate_system_generation.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_hyperelastic_box.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_incompressible_box.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/read_dofs_in_volume.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/young_modulus_field.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/bending_case/beam_with_fibers_macroscale.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/bending_case/beam_with_fibers_microscale.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/deformation_laboratory/microscale_deformation_lab.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/disc_micropolar_neo_hookean.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean_pure_dolfin.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean_pure_dolfin_old.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Suh_et_al/suh_implementation.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/micropolar_with_homogenization.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/micropolar_with_homogenization_original.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/tools_homogenization.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/tools_io.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/stress_plots.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/numerical_differentiation.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/numerical_differentiation_second_elasticity_tensor.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/tangent_operator_plotter.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/torsion_case/beam_with_fibers_macroscale.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/torsion_case/beam_with_fibers_microscale.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/traction_case/beam_with_fibers_macroscale.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/traction_case/beam_with_fibers_microscale.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/curve_fitting.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/cylindrical_coordinates_field.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/cylindrical_coordinates_material_property.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/elasticity_tensor.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/incompressible.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/linear_expression_test.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/petsc_2D.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_periodic.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_periodic_class.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_shifted_field.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/teste_afim.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/working_example_dictionaries.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/multiscale/hyperelasticity/beam_with_fibers_microscale.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/compressible_hyperelasticity.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/incompressible_hyperelasticity.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes/beam_gmsh.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes_paths.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/various_physics_tests.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/heat_transfer/isotropic_heat_conduction.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/hyperelasticity/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/hyperelasticity/anisotropic_hyperelasticity.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/hyperelasticity/isotropic_hyperelasticity.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/hyperelasticity/micropolar_hyperelasticity.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_classes.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_expressions.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/multiscale_hyperelasticity.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/multiscale_micropolar.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/physics/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/physics/hyperelastic_cauchy_continuum.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/physics/hyperelastic_incompressible_cauchy_continuum.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/physics/hyperelastic_micropolar_continuum.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/physics/steady_state_heat_transfer.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/post_processes/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/post_processes/post_processes_classes.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/post_processes/post_processes_functions.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/binary_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/body_forces_loading_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/boundary_conditions_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/constitutive_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/dirichlet_load_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/expressions_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/functional_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/homogenization_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/mesh_handling_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/multiscale_boundary_conditions_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/numerical_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/parallelization_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/post_processing_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/pseudotime_stepping_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/read_write_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/surface_loading_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/tensor_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/variational_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/weak_boundary_conditions_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/aa_tests/tests_template.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/aa_tests/txt_tests.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/coordinate_systems_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/dictionary_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/file_handling_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/fonts/CMU_Serif_Roman.ttf +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/function_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/interpolation_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/math_experiments.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/numpy_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/package_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/path_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/programming_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/recursion_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/tensor_and_math_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/user_interaction_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/aa_tests/test_delaunay_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/domain_decomposition/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/tool_box/delaunay_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/tool_box/sampling_tools.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/__init__.py +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout.egg-info/dependency_links.txt +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout.egg-info/requires.txt +0 -0
- {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout.egg-info/top_level.txt +0 -0
|
@@ -6,11 +6,11 @@ import os
|
|
|
6
6
|
|
|
7
7
|
import tensorflow as tf
|
|
8
8
|
|
|
9
|
-
from
|
|
9
|
+
from .....Davout.DeepMech.tool_box import ANN_tools, training_tools, parameters_tools, differentiation_tools
|
|
10
10
|
|
|
11
|
-
from
|
|
11
|
+
from .....Davout.PythonicUtilities.testing_tools import run_class_of_tests, evaluate_function_performance
|
|
12
12
|
|
|
13
|
-
from
|
|
13
|
+
from .....Davout.PythonicUtilities.path_tools import get_parent_path_of_file
|
|
14
14
|
|
|
15
15
|
# Defines a function to test the SVD-based architecture
|
|
16
16
|
|
|
@@ -53,7 +53,7 @@ class TestSVDArchitecture:
|
|
|
53
53
|
|
|
54
54
|
self.maximum_iterations = 5000
|
|
55
55
|
|
|
56
|
-
n_samples_training = 1000
|
|
56
|
+
self.n_samples_training = 1000
|
|
57
57
|
|
|
58
58
|
# Defines a function to get the true values
|
|
59
59
|
|
|
@@ -77,27 +77,27 @@ class TestSVDArchitecture:
|
|
|
77
77
|
|
|
78
78
|
self.x_max = 1.0
|
|
79
79
|
|
|
80
|
-
data_matrix = []
|
|
80
|
+
self.data_matrix = []
|
|
81
81
|
|
|
82
82
|
true_values = []
|
|
83
83
|
|
|
84
84
|
for i in range(self.n_samples_tests):
|
|
85
85
|
|
|
86
|
-
data_matrix.append([ANN_tools.random_inRange(self.x_min,
|
|
86
|
+
self.data_matrix.append([ANN_tools.random_inRange(self.x_min,
|
|
87
87
|
self.x_max) for j in range(self.whole_input_dimension
|
|
88
88
|
)])
|
|
89
89
|
|
|
90
90
|
# Evaluaets the true function
|
|
91
91
|
|
|
92
|
-
true_values.append(self.true_function(data_matrix[-1]))
|
|
92
|
+
true_values.append(self.true_function(self.data_matrix[-1]))
|
|
93
93
|
|
|
94
|
-
self.training_data = data_matrix[:n_samples_training]
|
|
94
|
+
self.training_data = self.data_matrix[:self.n_samples_training]
|
|
95
95
|
|
|
96
|
-
self.training_true_values = true_values[:n_samples_training]
|
|
96
|
+
self.training_true_values = true_values[:self.n_samples_training]
|
|
97
97
|
|
|
98
|
-
self.test_data = data_matrix[n_samples_training:]
|
|
98
|
+
self.test_data = self.data_matrix[self.n_samples_training:]
|
|
99
99
|
|
|
100
|
-
self.test_true_values = true_values[n_samples_training:]
|
|
100
|
+
self.test_true_values = true_values[self.n_samples_training:]
|
|
101
101
|
|
|
102
102
|
# Converts thet data to tensors
|
|
103
103
|
|
|
@@ -270,7 +270,7 @@ class TestSVDArchitecture:
|
|
|
270
270
|
|
|
271
271
|
cfd_gradient = []
|
|
272
272
|
|
|
273
|
-
cfd_step_length = tf.constant(1E-
|
|
273
|
+
cfd_step_length = tf.constant(1E-4, dtype=tf.as_dtype(
|
|
274
274
|
self.parameters_dtype))
|
|
275
275
|
|
|
276
276
|
for parameter_index in range(
|
|
@@ -317,7 +317,7 @@ class TestSVDArchitecture:
|
|
|
317
317
|
# Stacks the two gradients into a single matrix for comparison
|
|
318
318
|
|
|
319
319
|
gradient_matrix = tf.stack([flat_gradient_input,
|
|
320
|
-
gradient_wrt_params, cfd_gradient], axis=
|
|
320
|
+
gradient_wrt_params, cfd_gradient], axis=1)
|
|
321
321
|
|
|
322
322
|
print("The three methods of evaluating the gradient are presen"+
|
|
323
323
|
"ted below. The first\nrow shows the gradient evaluated when t"+
|
|
@@ -325,7 +325,7 @@ class TestSVDArchitecture:
|
|
|
325
325
|
"ient when the model is called with the given\ntrainable param"+
|
|
326
326
|
"eters as well using tensorflow AD. the third row shows\nthe g"+
|
|
327
327
|
"radient evaluated from parameters using central finite differ"+
|
|
328
|
-
"ences\n\n"+str(gradient_matrix)+"\n\nThe maximum absolute dif"+
|
|
328
|
+
"ences\n\n"+str(gradient_matrix.numpy())+"\n\nThe maximum absolute dif"+
|
|
329
329
|
"ference between components of the gradient from\ninput to tho"+
|
|
330
330
|
"se of the gradient from parameters is: "+str(tf.reduce_max(
|
|
331
331
|
tf.abs(flat_gradient_input-gradient_wrt_params)).numpy())+"\nT"+
|
|
@@ -334,6 +334,242 @@ class TestSVDArchitecture:
|
|
|
334
334
|
" differences is: "+str(tf.reduce_max(tf.abs(gradient_wrt_params
|
|
335
335
|
-cfd_gradient)).numpy())+"\n")
|
|
336
336
|
|
|
337
|
+
# Defines a function to test the performance of the calculation of
|
|
338
|
+
# the derivative of the loss function
|
|
339
|
+
|
|
340
|
+
def test_derivative_performance(self):
|
|
341
|
+
|
|
342
|
+
print("#######################################################"+
|
|
343
|
+
"#################\n# Tests performance of the deri"+
|
|
344
|
+
"vative calculation #\n#############################"+
|
|
345
|
+
"###########################################\n")
|
|
346
|
+
|
|
347
|
+
# Sets the number of warm-up iterations and the number of actual
|
|
348
|
+
# time assessment iterations
|
|
349
|
+
|
|
350
|
+
n_warm_up_runs = 10
|
|
351
|
+
|
|
352
|
+
n_evaluation_runs = 100
|
|
353
|
+
|
|
354
|
+
# Selects the method for building each Householder vector from
|
|
355
|
+
# the flat tensor of DOFs of each Householder chain
|
|
356
|
+
|
|
357
|
+
householder_vector_builder_method = ("get_householder_vector_f"+
|
|
358
|
+
"rom_parameters")
|
|
359
|
+
|
|
360
|
+
# Sets sets of architectures
|
|
361
|
+
|
|
362
|
+
number_of_neurons_hidden_layer_main_network_performance = [[500],
|
|
363
|
+
[850], [1200]]
|
|
364
|
+
|
|
365
|
+
output_dimension_performance = 2000
|
|
366
|
+
|
|
367
|
+
modulating_function_performance = "identity"
|
|
368
|
+
|
|
369
|
+
# Defines a function to get the true values for the performance
|
|
370
|
+
# test
|
|
371
|
+
|
|
372
|
+
def true_function_performance(x):
|
|
373
|
+
|
|
374
|
+
value = 0.0
|
|
375
|
+
|
|
376
|
+
for x_i in x:
|
|
377
|
+
|
|
378
|
+
value += x_i**2
|
|
379
|
+
|
|
380
|
+
return [value for j in range(output_dimension_performance)]
|
|
381
|
+
|
|
382
|
+
# Creates the true values
|
|
383
|
+
|
|
384
|
+
true_values = []
|
|
385
|
+
|
|
386
|
+
for i in range(self.n_samples_training):
|
|
387
|
+
|
|
388
|
+
# Evaluaets the true function
|
|
389
|
+
|
|
390
|
+
true_values.append(true_function_performance(
|
|
391
|
+
self.data_matrix[i]))
|
|
392
|
+
|
|
393
|
+
# Converts the training true values to a tensorflow constant
|
|
394
|
+
|
|
395
|
+
training_true_values_performance = tf.constant(true_values,
|
|
396
|
+
dtype=tf.as_dtype(self.parameters_dtype))
|
|
397
|
+
|
|
398
|
+
# Iterates over the architectures for performance evaluation
|
|
399
|
+
|
|
400
|
+
for i in range(len(
|
|
401
|
+
number_of_neurons_hidden_layer_main_network_performance)):
|
|
402
|
+
|
|
403
|
+
print("\n#################################################"+
|
|
404
|
+
"#######################\n# Evaluates th"+
|
|
405
|
+
"e "+str(i+1)+"-th architecture #\n#####"+
|
|
406
|
+
"#########################################################"+
|
|
407
|
+
"##########\n")
|
|
408
|
+
|
|
409
|
+
# Shows the architecture as the number of neurons in each
|
|
410
|
+
# layer of each network
|
|
411
|
+
|
|
412
|
+
string_of_neurons_auxiliar_network = "\nAuxiliar: "+str(
|
|
413
|
+
self.whole_input_dimension-self.quotient_space_dimension)
|
|
414
|
+
|
|
415
|
+
string_of_neurons_main_network = "\nMain: "+str(
|
|
416
|
+
self.quotient_space_dimension)+" "
|
|
417
|
+
|
|
418
|
+
# Sets the activation functions of the main network
|
|
419
|
+
|
|
420
|
+
number_of_neurons_per_hidden_layer_main_network = (
|
|
421
|
+
number_of_neurons_hidden_layer_main_network_performance[i])
|
|
422
|
+
|
|
423
|
+
# Iterates over the hidden layer of the architecture to build
|
|
424
|
+
# the dictionary of activation functions for the main and for
|
|
425
|
+
# the auxiliar networks
|
|
426
|
+
|
|
427
|
+
activation_list_main_network_performance = []
|
|
428
|
+
|
|
429
|
+
accessory_activation_list_performance = []
|
|
430
|
+
|
|
431
|
+
for hidden_layer_number in range(len(
|
|
432
|
+
number_of_neurons_per_hidden_layer_main_network)):
|
|
433
|
+
|
|
434
|
+
# Adds the hidden layer of the main network
|
|
435
|
+
|
|
436
|
+
activation_list_main_network_performance.append({"quad"+
|
|
437
|
+
"ratic": {"number of neurons":
|
|
438
|
+
number_of_neurons_per_hidden_layer_main_network[
|
|
439
|
+
hidden_layer_number], "a2": 1.0}})
|
|
440
|
+
|
|
441
|
+
# Updates the string of neurons of the main network
|
|
442
|
+
|
|
443
|
+
string_of_neurons_main_network += " | "+str(
|
|
444
|
+
number_of_neurons_per_hidden_layer_main_network[
|
|
445
|
+
hidden_layer_number])
|
|
446
|
+
|
|
447
|
+
# If this is the first hidden layer
|
|
448
|
+
|
|
449
|
+
if hidden_layer_number==0:
|
|
450
|
+
|
|
451
|
+
# Adds the hidden layer of the auxiliar network con-
|
|
452
|
+
# sidering the quotient space dimension into the rank
|
|
453
|
+
|
|
454
|
+
accessory_activation_list_performance.append({"qua"+
|
|
455
|
+
"dratic": {"number of neurons": min(
|
|
456
|
+
self.quotient_space_dimension,
|
|
457
|
+
number_of_neurons_per_hidden_layer_main_network[
|
|
458
|
+
hidden_layer_number]), "a2": 1.0}})
|
|
459
|
+
|
|
460
|
+
# Updates the string of neurons of the auxiliar net-
|
|
461
|
+
# work
|
|
462
|
+
|
|
463
|
+
string_of_neurons_auxiliar_network += " | "+str(
|
|
464
|
+
min(self.quotient_space_dimension,
|
|
465
|
+
number_of_neurons_per_hidden_layer_main_network[
|
|
466
|
+
hidden_layer_number]))
|
|
467
|
+
|
|
468
|
+
# Otherwise, considers the last layer into the rank
|
|
469
|
+
|
|
470
|
+
else:
|
|
471
|
+
|
|
472
|
+
# Adds the hidden layer of the auxiliar network con-
|
|
473
|
+
# sidering the number of neurons of the last hidden
|
|
474
|
+
# layer of the main network
|
|
475
|
+
|
|
476
|
+
accessory_activation_list_performance.append({"qua"+
|
|
477
|
+
"dratic": {"number of neurons": min(
|
|
478
|
+
number_of_neurons_per_hidden_layer_main_network[
|
|
479
|
+
hidden_layer_number-1],
|
|
480
|
+
number_of_neurons_per_hidden_layer_main_network[
|
|
481
|
+
hidden_layer_number]), "a2": 1.0}})
|
|
482
|
+
|
|
483
|
+
# Updates the string of neurons of the auxiliar net-
|
|
484
|
+
# work
|
|
485
|
+
|
|
486
|
+
string_of_neurons_auxiliar_network += " | "+str(
|
|
487
|
+
min(number_of_neurons_per_hidden_layer_main_network[
|
|
488
|
+
hidden_layer_number-1],
|
|
489
|
+
number_of_neurons_per_hidden_layer_main_network[
|
|
490
|
+
hidden_layer_number]))
|
|
491
|
+
|
|
492
|
+
# Adds the output layer to both networks
|
|
493
|
+
|
|
494
|
+
activation_list_main_network_performance.append({
|
|
495
|
+
"linear": output_dimension_performance})
|
|
496
|
+
|
|
497
|
+
accessory_activation_list_performance.append({"linear": min(
|
|
498
|
+
output_dimension_performance,
|
|
499
|
+
number_of_neurons_per_hidden_layer_main_network[-1])})
|
|
500
|
+
|
|
501
|
+
# Updates the string of neurons of the main network
|
|
502
|
+
|
|
503
|
+
string_of_neurons_main_network += " | "+str(
|
|
504
|
+
output_dimension_performance)
|
|
505
|
+
|
|
506
|
+
# Updates the string of neurons of the auxiliar network
|
|
507
|
+
|
|
508
|
+
string_of_neurons_auxiliar_network += " | "+str(
|
|
509
|
+
min(output_dimension_performance,
|
|
510
|
+
number_of_neurons_per_hidden_layer_main_network[-1]))
|
|
511
|
+
|
|
512
|
+
# Sets the parameters of the custom SVD-based architecture
|
|
513
|
+
|
|
514
|
+
custom_architecture_performance = {"name": "SVDQuotientSpa"+
|
|
515
|
+
"ce", "weights modulating function":
|
|
516
|
+
modulating_function_performance, "Householder epsilon": 1.0,
|
|
517
|
+
"activations accessory layer list":
|
|
518
|
+
accessory_activation_list_performance, "householder vector"+
|
|
519
|
+
" builder method": householder_vector_builder_method}
|
|
520
|
+
|
|
521
|
+
# Assembles the model
|
|
522
|
+
|
|
523
|
+
ANN_class_performance = ANN_tools.MultiLayerModel(
|
|
524
|
+
self.whole_input_dimension,
|
|
525
|
+
activation_list_main_network_performance,
|
|
526
|
+
enforce_customLayers=True, verbose=True, parameters_dtype=
|
|
527
|
+
self.parameters_dtype, custom_architecture=
|
|
528
|
+
custom_architecture_performance, input_size_main_network=
|
|
529
|
+
self.quotient_space_dimension)
|
|
530
|
+
|
|
531
|
+
custom_model_performance = ANN_class_performance()
|
|
532
|
+
|
|
533
|
+
# Gets the model trainable parameters and their shapes
|
|
534
|
+
|
|
535
|
+
(initial_model_parameters_performance,
|
|
536
|
+
parameters_shapes_performance) = parameters_tools.model_parameters_to_flat_tensor_and_shapes(
|
|
537
|
+
custom_model_performance)
|
|
538
|
+
|
|
539
|
+
# Gets an instance of the class that evaluates the loss
|
|
540
|
+
# function and its derivative from the trainable parameters
|
|
541
|
+
|
|
542
|
+
gradient_class = differentiation_tools.ScalarGradientWrtTrainableParamsGivenParameters(
|
|
543
|
+
self.loss_metric, custom_model_performance,
|
|
544
|
+
self.training_input_constant, parameters_shapes_performance,
|
|
545
|
+
initial_model_parameters_performance, model_true_values=
|
|
546
|
+
training_true_values_performance, parameters_type=
|
|
547
|
+
initial_model_parameters_performance.dtype)
|
|
548
|
+
|
|
549
|
+
# Evaluates the loss function and the derivative with res-
|
|
550
|
+
# pect to the trainable parameters. Creates an argument-less
|
|
551
|
+
# function to
|
|
552
|
+
|
|
553
|
+
def evaluation_function():
|
|
554
|
+
|
|
555
|
+
loss_value, gradient_wrt_params = gradient_class(
|
|
556
|
+
initial_model_parameters_performance)
|
|
557
|
+
|
|
558
|
+
# Always return something that is a tensor to force syn-
|
|
559
|
+
# chronization
|
|
560
|
+
|
|
561
|
+
return gradient_wrt_params
|
|
562
|
+
|
|
563
|
+
# Tests performance of the derivative
|
|
564
|
+
|
|
565
|
+
evaluate_function_performance(evaluation_function,
|
|
566
|
+
n_warm_up_runs=n_warm_up_runs, n_evaluation_runs=
|
|
567
|
+
n_evaluation_runs, n_evaluations_to_show_memory_data=10)
|
|
568
|
+
|
|
569
|
+
print("\nThe architecture of the whole network of the last"+
|
|
570
|
+
" experiment is:\n"+string_of_neurons_auxiliar_network+
|
|
571
|
+
string_of_neurons_main_network+"\n")
|
|
572
|
+
|
|
337
573
|
# Defines a function to test training a model with this architecture
|
|
338
574
|
|
|
339
575
|
def test_training_model(self):
|
|
@@ -487,7 +723,8 @@ if __name__=="__main__":
|
|
|
487
723
|
# Creates a list of methods (using their names) that are not to be
|
|
488
724
|
# tested
|
|
489
725
|
|
|
490
|
-
reserved_methods = [
|
|
726
|
+
reserved_methods = ["test_training_model", "test_monte_carlo_training_model",
|
|
727
|
+
"test_quotient_space_invariance_model", "test_convexity_in_quotient_space"]
|
|
491
728
|
|
|
492
729
|
# Calls the function to run all the necessary tests
|
|
493
730
|
|
|
@@ -171,7 +171,7 @@ class TestCustomGradients:
|
|
|
171
171
|
self.householder_first_index, self.householder_length,
|
|
172
172
|
self.householder_number_of_leading_zeros,
|
|
173
173
|
self.householder_parameters, householder_index,
|
|
174
|
-
self.householder_epsilon_squared)
|
|
174
|
+
self.householder_epsilon_squared, self.input_dimension)
|
|
175
175
|
|
|
176
176
|
print("The assembled "+str(i)+"-th Householder vector is:"+
|
|
177
177
|
"\n"+str(householder_vector.numpy())+"\n")
|
|
@@ -197,7 +197,8 @@ class TestCustomGradients:
|
|
|
197
197
|
self.householder_length,
|
|
198
198
|
self.householder_number_of_leading_zeros,
|
|
199
199
|
self.householder_parameters, self.constant_two,
|
|
200
|
-
self.householder_epsilon_squared, output_dimension
|
|
200
|
+
self.householder_epsilon_squared, output_dimension,
|
|
201
|
+
self.input_dimension)
|
|
201
202
|
|
|
202
203
|
print("The result of the input tensor multiplied by the Househ"+
|
|
203
204
|
"older chain has shape "+str(y_tensor.shape)+" and is:\n"+str(
|
|
@@ -212,15 +213,16 @@ class TestCustomGradients:
|
|
|
212
213
|
tf.reverse(self.householder_length, axis=[0]),
|
|
213
214
|
tf.reverse(self.householder_number_of_leading_zeros, axis=[0]),
|
|
214
215
|
self.householder_parameters, self.constant_two,
|
|
215
|
-
self.householder_epsilon_squared, output_dimension
|
|
216
|
+
self.householder_epsilon_squared, output_dimension,
|
|
217
|
+
self.input_dimension)
|
|
216
218
|
|
|
217
219
|
print("Reverse tensor has shape: "+str(reverse_tensor.shape)+
|
|
218
220
|
"\n")
|
|
219
221
|
|
|
220
222
|
print("Applies the Householder chain in reverse order to the f"+
|
|
221
|
-
"ormer result to
|
|
222
|
-
"tensor. The maximum
|
|
223
|
-
"
|
|
223
|
+
"ormer result to\nverify if it gets back to the original input"+
|
|
224
|
+
"tensor. The maximum diffe-\nrence component-wise between the "+
|
|
225
|
+
"original input tensor and the recons-\ntructed one is: "+str(
|
|
224
226
|
tf.reduce_max(tf.abs(reverse_tensor-self.X_input_vectors)).numpy(
|
|
225
227
|
))+"\n")
|
|
226
228
|
|
|
@@ -257,7 +259,7 @@ class TestCustomGradients:
|
|
|
257
259
|
self.householder_first_index, self.householder_length,
|
|
258
260
|
self.householder_number_of_leading_zeros,
|
|
259
261
|
self.householder_parameters, householder_index,
|
|
260
|
-
self.householder_epsilon_squared)
|
|
262
|
+
self.householder_epsilon_squared, self.input_dimension)
|
|
261
263
|
|
|
262
264
|
# Gets the derivative of v_tilde and of alpha
|
|
263
265
|
|
|
@@ -414,7 +416,7 @@ class TestCustomGradients:
|
|
|
414
416
|
self.householder_first_index, self.householder_length,
|
|
415
417
|
self.householder_number_of_leading_zeros,
|
|
416
418
|
self.householder_parameters, householder_index,
|
|
417
|
-
self.householder_epsilon_squared)
|
|
419
|
+
self.householder_epsilon_squared, self.input_dimension)
|
|
418
420
|
|
|
419
421
|
# Gets the derivative of the operation using the analytical
|
|
420
422
|
# derivative implemented in SVD tools
|
|
@@ -462,7 +464,7 @@ class TestCustomGradients:
|
|
|
462
464
|
self.householder_first_index, self.householder_length,
|
|
463
465
|
self.householder_number_of_leading_zeros,
|
|
464
466
|
updated_householder_parameters, self.constant_two,
|
|
465
|
-
self.householder_epsilon_squared))
|
|
467
|
+
self.householder_epsilon_squared, self.input_dimension))
|
|
466
468
|
|
|
467
469
|
CFD_y = derivative_tensor_valued_function_of_vector_argument(
|
|
468
470
|
get_y, slice_of_vector_of_dofs, epsilon=1E-5)
|
|
@@ -510,7 +512,7 @@ class TestCustomGradients:
|
|
|
510
512
|
self.householder_first_index, self.householder_length,
|
|
511
513
|
self.householder_number_of_leading_zeros,
|
|
512
514
|
self.householder_parameters, i,
|
|
513
|
-
self.householder_epsilon_squared)
|
|
515
|
+
self.householder_epsilon_squared, self.input_dimension)
|
|
514
516
|
|
|
515
517
|
# Multiplies this Householder reflector to the right of Q u-
|
|
516
518
|
# sing the corresponding rank-1 update
|
|
@@ -545,7 +547,8 @@ class TestCustomGradients:
|
|
|
545
547
|
self.householder_length,
|
|
546
548
|
self.householder_number_of_leading_zeros,
|
|
547
549
|
updated_householder_parameters, self.constant_two,
|
|
548
|
-
self.householder_epsilon_squared, self.rank
|
|
550
|
+
self.householder_epsilon_squared, self.rank,
|
|
551
|
+
self.input_dimension))
|
|
549
552
|
|
|
550
553
|
# Evaluates the derivative using central finite differences
|
|
551
554
|
|
|
@@ -604,7 +607,8 @@ class TestCustomGradients:
|
|
|
604
607
|
self.householder_length,
|
|
605
608
|
self.householder_number_of_leading_zeros,
|
|
606
609
|
self.householder_parameters, self.constant_two,
|
|
607
|
-
self.householder_epsilon_squared, output_dimension
|
|
610
|
+
self.householder_epsilon_squared, output_dimension,
|
|
611
|
+
self.input_dimension)
|
|
608
612
|
|
|
609
613
|
# Defines a scalar loss L = 0.5 * sum(y^2)
|
|
610
614
|
|
|
@@ -632,7 +636,8 @@ class TestCustomGradients:
|
|
|
632
636
|
self.householder_length,
|
|
633
637
|
self.householder_number_of_leading_zeros,
|
|
634
638
|
self.householder_parameters, self.constant_two,
|
|
635
|
-
self.householder_epsilon_squared, output_dimension
|
|
639
|
+
self.householder_epsilon_squared, output_dimension,
|
|
640
|
+
self.input_dimension)
|
|
636
641
|
|
|
637
642
|
AD_loss = 0.5*tf.reduce_sum(tf.square(y_AD))
|
|
638
643
|
|
|
@@ -726,21 +731,23 @@ class TestCustomGradients:
|
|
|
726
731
|
constant_two_performance = tf.constant(2.0, dtype=tf.as_dtype(
|
|
727
732
|
parameters_type_performance))
|
|
728
733
|
|
|
729
|
-
@tf.function(jit_compile=True)
|
|
730
|
-
def optimized_AD_chain_multiplication(
|
|
731
|
-
|
|
732
|
-
):
|
|
734
|
+
@tf.function#(jit_compile=True)
|
|
735
|
+
def optimized_AD_chain_multiplication(X, first_index, length,
|
|
736
|
+
leading_zeros, params, constant_two, epsilon_sq, output_dim,
|
|
737
|
+
input_dimension):
|
|
738
|
+
|
|
733
739
|
return SVD_tools.multiply_input_vector_by_householder_chain(
|
|
734
|
-
|
|
735
|
-
)
|
|
740
|
+
X, first_index, length, leading_zeros, params, constant_two,
|
|
741
|
+
epsilon_sq, output_dim, input_dimension)
|
|
736
742
|
|
|
737
743
|
"""@tf.function(jit_compile=True)
|
|
738
|
-
def optimized_custom_chain_multiplication(
|
|
739
|
-
|
|
740
|
-
):
|
|
744
|
+
def optimized_custom_chain_multiplication(X, first_index,
|
|
745
|
+
length, leading_zeros, params, constant_two, epsilon_sq,
|
|
746
|
+
output_dim, input_dimension):
|
|
747
|
+
|
|
741
748
|
return SVD_tools.multiply_input_vector_by_householder_chain_with_custom_gradient(
|
|
742
|
-
|
|
743
|
-
)"""
|
|
749
|
+
X, first_index, length, leading_zeros, params, constant_two,
|
|
750
|
+
epsilon_sq, output_dim, input_dimension)"""
|
|
744
751
|
|
|
745
752
|
"""# Defines a function to compute the gradient of the toy loss
|
|
746
753
|
# function using the custom gradient
|
|
@@ -794,7 +801,8 @@ class TestCustomGradients:
|
|
|
794
801
|
householder_parameters_performance,
|
|
795
802
|
constant_two_performance,
|
|
796
803
|
householder_epsilon_squared_performance,
|
|
797
|
-
output_dimension_performance
|
|
804
|
+
output_dimension_performance,
|
|
805
|
+
input_dimension_performance)
|
|
798
806
|
|
|
799
807
|
AD_loss = 0.5*tf.reduce_sum(tf.square(y_AD))
|
|
800
808
|
|