Skip to content

Commit

Permalink
Update TF dependency to 2.12 (#356)
Browse files Browse the repository at this point in the history
* Revert TF dependency to 2.10.0 (#338)

revert TF dependency to 2.10.0

* update to TF 2.12

* add 2.12 c api

* indent

* add win c api tests

* typo
  • Loading branch information
maggie1059 authored Apr 7, 2023
1 parent 1053cf3 commit e579411
Show file tree
Hide file tree
Showing 10 changed files with 147 additions and 146 deletions.
4 changes: 2 additions & 2 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Once you've installed Miniconda you will want to create and activate a Python 3.
Download the latest [Miniconda3 Windows 64-bit](https://docs.conda.io/en/latest/miniconda.html) installer. You can leave all the default settings.

```
conda create --name tfdml_plugin python=3.7
conda create --name tfdml_plugin python=3.9
conda activate tfdml_plugin
pip install wheel vswhere
```
Expand All @@ -86,7 +86,7 @@ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# follow prompts to install Miniconda and activate it in your shell
conda create --name tfdml_plugin python=3.7
conda create --name tfdml_plugin python=3.9
conda activate tfdml_plugin
pip install wheel
```
Expand Down
218 changes: 107 additions & 111 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.20)

project(tensorflow-directml-plugin VERSION 0.3.0 LANGUAGES CXX)
project(tensorflow-directml-plugin VERSION 0.5.0 LANGUAGES CXX)

# Statically link runtime library to avoid runtime dependency on Visual C++ redistributable.
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded$<$<CONFIG:Debug>:Debug>)
Expand Down Expand Up @@ -554,115 +554,111 @@ add_custom_command(
)
add_custom_target(tfdml_plugin_wheel ALL DEPENDS ${pkg_full_name})

# TODO: Make available on Windows once the TensorFlow C API exports all the necessary symbols
# TF #40927951
if(NOT WIN32)
# Get the DirectML SHA
file(READ "${directml_redist_SOURCE_DIR}/include/DirectMLConfig.h" DIRECTML_CONFIG)
string(REGEX MATCH "#define DIRECTML_SOURCE_VERSION \"([abcdef0-9]+)\"" REGEX_MATCH ${DIRECTML_CONFIG})
set(DIRECTML_SHA ${CMAKE_MATCH_1})
# Get the DirectML SHA
file(READ "${directml_redist_SOURCE_DIR}/include/DirectMLConfig.h" DIRECTML_CONFIG)
string(REGEX MATCH "#define DIRECTML_SOURCE_VERSION \"([abcdef0-9]+)\"" REGEX_MATCH ${DIRECTML_CONFIG})
set(DIRECTML_SHA ${CMAKE_MATCH_1})

if(WIN32)
set(framework_full_name "${CMAKE_PROJECT_NAME}-${pkg_platform}-${pkg_version}.zip")
else()
set(framework_full_name "lib${CMAKE_PROJECT_NAME}-${pkg_platform}-${pkg_version}.tar.gz")
endif()

add_custom_command(
OUTPUT
${framework_full_name}
COMMAND
${CMAKE_COMMAND} -E copy $<TARGET_FILE:tfdml_plugin_framework> .
COMMAND
${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/LICENSE .
COMMAND
${CMAKE_COMMAND} -E make_directory ./directml
COMMAND
${CMAKE_COMMAND} -E copy
$<$<BOOL:${UNIX}>:${directml_redist_SOURCE_DIR}/bin/x64-linux/libdirectml.so>
$<$<BOOL:${UNIX}>:./directml/libdirectml.${DIRECTML_SHA}.so>
$<$<BOOL:${WIN32}>:${directml_redist_SOURCE_DIR}/bin/x64-win/DirectML.dll>
$<$<BOOL:${WIN32}>:./directml/DirectML.${DIRECTML_SHA}.dll>
COMMAND
${CMAKE_COMMAND} -E copy ${directml_redist_SOURCE_DIR}/LICENSE.txt ./directml/DirectML_LICENSE.txt
COMMAND
${CMAKE_COMMAND} -E copy ${directml_redist_SOURCE_DIR}/ThirdPartyNotices.txt ./directml/DirectML_ThirdPartyNotices.txt
COMMAND
$<$<BOOL:${WIN32}>:${CMAKE_COMMAND}> $<$<BOOL:${WIN32}>:-E> $<$<BOOL:${WIN32}>:copy>
$<$<BOOL:${WIN32}>:${pix_event_runtime_SOURCE_DIR}/bin/x64/WinPixEventRuntime.dll>
$<$<BOOL:${WIN32}>:./directml>
COMMAND
$<$<BOOL:${WIN32}>:${CMAKE_COMMAND}> $<$<BOOL:${WIN32}>:-E> $<$<BOOL:${WIN32}>:copy>
$<$<BOOL:${WIN32}>:${pix_event_runtime_SOURCE_DIR}/license.txt>
$<$<BOOL:${WIN32}>:./directml/WinPixEventRuntime_LICENSE.txt>
COMMAND
$<$<BOOL:${WIN32}>:${CMAKE_COMMAND}> $<$<BOOL:${WIN32}>:-E> $<$<BOOL:${WIN32}>:copy>
$<$<BOOL:${WIN32}>:${pix_event_runtime_SOURCE_DIR}/ThirdPartyNotices.txt>
$<$<BOOL:${WIN32}>:./directml/WinPixEventRuntime_ThirdPartyNotices.txt>
COMMAND
${CMAKE_COMMAND} -E tar $<$<BOOL:${WIN32}>:"cfv"> $<$<BOOL:${UNIX}>:"cfvz"> "${framework_full_name}" $<$<BOOL:${WIN32}>:--format=zip> --
$<TARGET_FILE_NAME:tfdml_plugin_framework>
LICENSE
directml/DirectML_LICENSE.txt
directml/DirectML_ThirdPartyNotices.txt
$<$<BOOL:${UNIX}>:directml/libdirectml.${DIRECTML_SHA}.so>
$<$<BOOL:${WIN32}>:directml/DirectML.${DIRECTML_SHA}.dll>
$<$<BOOL:${WIN32}>:directml/WinPixEventRuntime.dll>
DEPENDS
tfdml_plugin_framework
LICENSE
WORKING_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}
COMMENT
"Creating ${framework_full_name}"
)
add_custom_target(tfdml_plugin_framework_zip ALL DEPENDS ${framework_full_name})

set(c_api_tests_full_name "${pkg_name}-${pkg_version}-${pkg_platform}-c-api-tests.zip")
add_custom_command(
OUTPUT
${c_api_tests_full_name}
COMMAND
${CMAKE_COMMAND} -E copy
$<TARGET_FILE:tfdml_plugin_framework>
$<TARGET_FILE:c_api_tests>
$<$<BOOL:${UNIX}>:${tensorflow_framework_SOURCE_DIR}/lib/libtensorflow.so.2>
$<$<BOOL:${UNIX}>:${tensorflow_framework_SOURCE_DIR}/lib/libtensorflow_framework.so.2>
$<$<BOOL:${WIN32}>:${tensorflow_framework_SOURCE_DIR}/lib/tensorflow.dll>
.
COMMAND
${CMAKE_COMMAND} -E make_directory ./directml
COMMAND
${CMAKE_COMMAND} -E copy
$<$<BOOL:${UNIX}>:${directml_redist_SOURCE_DIR}/bin/x64-linux/libdirectml.so>
$<$<BOOL:${UNIX}>:./directml/libdirectml.${DIRECTML_SHA}.so>
$<$<BOOL:${WIN32}>:${directml_redist_SOURCE_DIR}/bin/x64-win/DirectML.dll>
$<$<BOOL:${WIN32}>:./directml/DirectML.${DIRECTML_SHA}.dll>
COMMAND
$<$<BOOL:${WIN32}>:${CMAKE_COMMAND}> $<$<BOOL:${WIN32}>:-E> $<$<BOOL:${WIN32}>:copy>
$<$<BOOL:${WIN32}>:${pix_event_runtime_SOURCE_DIR}/bin/x64/WinPixEventRuntime.dll>
$<$<BOOL:${WIN32}>:./directml>
COMMAND
${CMAKE_COMMAND} -E copy_directory ${squeezenet_model_SOURCE_DIR} ./squeezenet_model
COMMAND
${CMAKE_COMMAND} -E tar "cfv" "${c_api_tests_full_name}" --format=zip --
$<TARGET_FILE_NAME:tfdml_plugin_framework>
$<TARGET_FILE_NAME:c_api_tests>
$<$<BOOL:${UNIX}>:libtensorflow.so.2>
$<$<BOOL:${UNIX}>:libtensorflow_framework.so.2>
$<$<BOOL:${UNIX}>:directml/libdirectml.${DIRECTML_SHA}.so>
$<$<BOOL:${WIN32}>:tensorflow.dll>
$<$<BOOL:${WIN32}>:directml/DirectML.${DIRECTML_SHA}.dll>
$<$<BOOL:${WIN32}>:directml/WinPixEventRuntime.dll>
squeezenet_model/squeezenet.pb
DEPENDS
c_api_tests
tfdml_plugin_framework
tensorflow_framework_libs
WORKING_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}
COMMENT
"Creating ${c_api_tests_full_name}"
)
add_custom_target(c_api_tests_zip ALL DEPENDS ${c_api_tests_full_name})
if(WIN32)
set(framework_full_name "${CMAKE_PROJECT_NAME}-${pkg_platform}-${pkg_version}.zip")
else()
set(framework_full_name "lib${CMAKE_PROJECT_NAME}-${pkg_platform}-${pkg_version}.tar.gz")
endif()

add_custom_command(
OUTPUT
${framework_full_name}
COMMAND
${CMAKE_COMMAND} -E copy $<TARGET_FILE:tfdml_plugin_framework> .
COMMAND
${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/LICENSE .
COMMAND
${CMAKE_COMMAND} -E make_directory ./directml
COMMAND
${CMAKE_COMMAND} -E copy
$<$<BOOL:${UNIX}>:${directml_redist_SOURCE_DIR}/bin/x64-linux/libdirectml.so>
$<$<BOOL:${UNIX}>:./directml/libdirectml.${DIRECTML_SHA}.so>
$<$<BOOL:${WIN32}>:${directml_redist_SOURCE_DIR}/bin/x64-win/DirectML.dll>
$<$<BOOL:${WIN32}>:./directml/DirectML.${DIRECTML_SHA}.dll>
COMMAND
${CMAKE_COMMAND} -E copy ${directml_redist_SOURCE_DIR}/LICENSE.txt ./directml/DirectML_LICENSE.txt
COMMAND
${CMAKE_COMMAND} -E copy ${directml_redist_SOURCE_DIR}/ThirdPartyNotices.txt ./directml/DirectML_ThirdPartyNotices.txt
COMMAND
$<$<BOOL:${WIN32}>:${CMAKE_COMMAND}> $<$<BOOL:${WIN32}>:-E> $<$<BOOL:${WIN32}>:copy>
$<$<BOOL:${WIN32}>:${pix_event_runtime_SOURCE_DIR}/bin/x64/WinPixEventRuntime.dll>
$<$<BOOL:${WIN32}>:./directml>
COMMAND
$<$<BOOL:${WIN32}>:${CMAKE_COMMAND}> $<$<BOOL:${WIN32}>:-E> $<$<BOOL:${WIN32}>:copy>
$<$<BOOL:${WIN32}>:${pix_event_runtime_SOURCE_DIR}/license.txt>
$<$<BOOL:${WIN32}>:./directml/WinPixEventRuntime_LICENSE.txt>
COMMAND
$<$<BOOL:${WIN32}>:${CMAKE_COMMAND}> $<$<BOOL:${WIN32}>:-E> $<$<BOOL:${WIN32}>:copy>
$<$<BOOL:${WIN32}>:${pix_event_runtime_SOURCE_DIR}/ThirdPartyNotices.txt>
$<$<BOOL:${WIN32}>:./directml/WinPixEventRuntime_ThirdPartyNotices.txt>
COMMAND
${CMAKE_COMMAND} -E tar $<$<BOOL:${WIN32}>:"cfv"> $<$<BOOL:${UNIX}>:"cfvz"> "${framework_full_name}" $<$<BOOL:${WIN32}>:--format=zip> --
$<TARGET_FILE_NAME:tfdml_plugin_framework>
LICENSE
directml/DirectML_LICENSE.txt
directml/DirectML_ThirdPartyNotices.txt
$<$<BOOL:${UNIX}>:directml/libdirectml.${DIRECTML_SHA}.so>
$<$<BOOL:${WIN32}>:directml/DirectML.${DIRECTML_SHA}.dll>
$<$<BOOL:${WIN32}>:directml/WinPixEventRuntime.dll>
DEPENDS
tfdml_plugin_framework
LICENSE
WORKING_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}
COMMENT
"Creating ${framework_full_name}"
)
add_custom_target(tfdml_plugin_framework_zip ALL DEPENDS ${framework_full_name})

set(c_api_tests_full_name "${pkg_name}-${pkg_version}-${pkg_platform}-c-api-tests.zip")
add_custom_command(
OUTPUT
${c_api_tests_full_name}
COMMAND
${CMAKE_COMMAND} -E copy
$<TARGET_FILE:tfdml_plugin_framework>
$<TARGET_FILE:c_api_tests>
$<$<BOOL:${UNIX}>:${tensorflow_framework_SOURCE_DIR}/lib/libtensorflow.so.2>
$<$<BOOL:${UNIX}>:${tensorflow_framework_SOURCE_DIR}/lib/libtensorflow_framework.so.2>
$<$<BOOL:${WIN32}>:${tensorflow_framework_SOURCE_DIR}/lib/tensorflow.dll>
.
COMMAND
${CMAKE_COMMAND} -E make_directory ./directml
COMMAND
${CMAKE_COMMAND} -E copy
$<$<BOOL:${UNIX}>:${directml_redist_SOURCE_DIR}/bin/x64-linux/libdirectml.so>
$<$<BOOL:${UNIX}>:./directml/libdirectml.${DIRECTML_SHA}.so>
$<$<BOOL:${WIN32}>:${directml_redist_SOURCE_DIR}/bin/x64-win/DirectML.dll>
$<$<BOOL:${WIN32}>:./directml/DirectML.${DIRECTML_SHA}.dll>
COMMAND
$<$<BOOL:${WIN32}>:${CMAKE_COMMAND}> $<$<BOOL:${WIN32}>:-E> $<$<BOOL:${WIN32}>:copy>
$<$<BOOL:${WIN32}>:${pix_event_runtime_SOURCE_DIR}/bin/x64/WinPixEventRuntime.dll>
$<$<BOOL:${WIN32}>:./directml>
COMMAND
${CMAKE_COMMAND} -E copy_directory ${squeezenet_model_SOURCE_DIR} ./squeezenet_model
COMMAND
${CMAKE_COMMAND} -E tar "cfv" "${c_api_tests_full_name}" --format=zip --
$<TARGET_FILE_NAME:tfdml_plugin_framework>
$<TARGET_FILE_NAME:c_api_tests>
$<$<BOOL:${UNIX}>:libtensorflow.so.2>
$<$<BOOL:${UNIX}>:libtensorflow_framework.so.2>
$<$<BOOL:${UNIX}>:directml/libdirectml.${DIRECTML_SHA}.so>
$<$<BOOL:${WIN32}>:tensorflow.dll>
$<$<BOOL:${WIN32}>:directml/DirectML.${DIRECTML_SHA}.dll>
$<$<BOOL:${WIN32}>:directml/WinPixEventRuntime.dll>
squeezenet_model/squeezenet.pb
DEPENDS
c_api_tests
tfdml_plugin_framework
tensorflow_framework_libs
WORKING_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}
COMMENT
"Creating ${c_api_tests_full_name}"
)
add_custom_target(c_api_tests_zip ALL DEPENDS ${c_api_tests_full_name})
20 changes: 10 additions & 10 deletions cmake/dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,31 +21,31 @@ set(protobuf_BUILD_TESTS OFF CACHE BOOL "Build protobuf tests")
# TensorFlow python package
if(WIN32)
# To update the package version to a nightly build, go to https://pypi.org/project/tf-nightly-intel/#files and copy the
# URLs and SHA256 hashes for the cp37 versions. For stable builds, go to https://pypi.org/project/tensorflow-intel/#files instead.
# URLs and SHA256 hashes for the cp39 versions. For stable builds, go to https://pypi.org/project/tensorflow-intel/#files instead.
FetchContent_Declare(
tensorflow_whl
URL https://files.pythonhosted.org/packages/4c/57/3b37cf30bf1549e617f8328c10b1f3237bf50c9ac7be3de6fcb4c73a19ef/tensorflow_intel-2.12.0rc0-cp39-cp39-win_amd64.whl
URL_HASH SHA256=4f6793e0d9238b2fd57f10f39d7b3ab38000e2fca3144c260f581665be35a971
URL https://files.pythonhosted.org/packages/36/5b/401b3eb4b0af7f7a261689255b9944c0d7266eb528b12fe6a6df20b0796c/tensorflow_intel-2.12.0-cp39-cp39-win_amd64.whl
URL_HASH SHA256=2c3ece439d589362374d6e9f7775d2fac4591e0d9fc22a431f2eeaa4a0d2994a
)

FetchContent_Declare(
tensorflow_framework
URL https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-2.10.0.zip
URL_HASH SHA256=4c5e6f9a7683583220716fecadea53ace233f31f59062e83585c4821f9968438
URL https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-2.12.0.zip
URL_HASH SHA256=bbb6c123247104e766437577ce42b426bf14234cd839114e4223fe5e56cc1b99
)
else()
# To update the package version to a nightly build, go to https://pypi.org/project/tf-nightly-cpu/#files and copy the
# URLs and SHA256 hashes for the cp37 versions. For stable builds, go to https://pypi.org/project/tensorflow-cpu/#files instead.
# URLs and SHA256 hashes for the cp39 versions. For stable builds, go to https://pypi.org/project/tensorflow-cpu/#files instead.
FetchContent_Declare(
tensorflow_whl
URL https://files.pythonhosted.org/packages/61/f7/5888bb138d8ae9c6400996c3f0ffc2d9034c5213d7c6aa6deea79bbfe2c3/tensorflow_cpu-2.12.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
URL_HASH SHA256=505921b47561f7b26fef8d1e5d781c4afd9aaba8945b02258d36037f70cdfbef
URL https://files.pythonhosted.org/packages/6a/d8/137fd38cf5572c8aa11a05ea0f255675299ce299c2967c40f2ae2fea19ad/tensorflow_cpu-2.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
URL_HASH SHA256=55685b9a19c8ecb2587fb53914c045b188ed0289a2c6495e4e59d5fb082da9cc
)

FetchContent_Declare(
tensorflow_framework
URL https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.10.0.tar.gz
URL_HASH SHA256=141631c8bcebb469ba5fa7bc8032f0324df2a7dea469f842318bafe0322850ab
URL https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.12.0.tar.gz
URL_HASH SHA256=d2bd2e98c1afde77f8a033bbf762a812e7e232d6ed62648aa64df7e6cfcc496e
)
endif()

Expand Down
29 changes: 18 additions & 11 deletions pipelines/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,17 +121,24 @@ jobs:
python build.py --config $(vars.configuration) --build_output $(buildOutPath) --wheel_version_suffix "$(vars.wheelVersionSuffix)"
}
displayName: Build Wheel
# TODO: Make available on Windows once the TensorFlow C API exports all the necessary symbols
# TF #40927951
# - powershell: |
# Invoke-Expression '$(miniconda.activateCommand)'
#
# if ("${{parameters.enableTelemetry}}" -eq "True") {
# python build.py --config $(vars.configuration) --target tfdml_plugin_framework_zip --build_output $(buildOutPath) --telemetry --telemetry_provider_group_guid "${{parameters.telemetryProviderGroupGuid}}"
# } else {
# python build.py --config $(vars.configuration) --target tfdml_plugin_framework_zip --build_output $(buildOutPath)
# }
# displayName: Build C API Library
- powershell: |
Invoke-Expression '$(miniconda.activateCommand)'
if ("${{parameters.enableTelemetry}}" -eq "True") {
python build.py --config $(vars.configuration) --target tfdml_plugin_framework_zip --build_output $(buildOutPath) --telemetry --telemetry_provider_group_guid "${{parameters.telemetryProviderGroupGuid}}"
} else {
python build.py --config $(vars.configuration) --target tfdml_plugin_framework_zip --build_output $(buildOutPath)
}
displayName: Build C API Library
- powershell: |
Invoke-Expression '$(miniconda.activateCommand)'
if ("${{parameters.enableTelemetry}}" -eq "True") {
python build.py --config $(vars.configuration) --target c_api_tests_zip --build_output $(buildOutPath) --telemetry --telemetry_provider_group_guid "${{parameters.telemetryProviderGroupGuid}}"
} else {
python build.py --config $(vars.configuration) --target c_api_tests_zip --build_output $(buildOutPath)
}
displayName: Build C API Tests
- powershell: |
New-Item -Force -ItemType Directory "$(buildPubPath)"
Copy-Item -Recurse "$(buildOutPath)/*.whl" "$(buildPubPath)"
Expand Down
5 changes: 3 additions & 2 deletions pipelines/create_test_env.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,6 @@ echo "##vso[task.setVariable variable=activateCommand;isOutput=true]$ActivateCmd
# Extract the C Library API tests to the build folder
# TODO: Make available on Windows once the TensorFlow C API exports all the necessary symbols
# TF #40927951
# $ApiTestsZip = (Get-ChildItem "$TestArtifactPath/tensorflow_directml_plugin-*-c-api-tests.zip").FullName
# Expand-Archive "$ApiTestsZip" -Destination "$SourcesDirectory/build"
ls $TestArtifactPath
$ApiTestsZip = (Get-ChildItem "$TestArtifactPath/tensorflow_directml_plugin-*-c-api-tests.zip").FullName
Expand-Archive "$ApiTestsZip" -Destination "$SourcesDirectory/build"
4 changes: 2 additions & 2 deletions pipelines/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,12 @@ parameters:
- name: testTensorflowVersion
displayName: TensorFlow Package Version
type: string
default: 2.12.0rc0
default: 2.12.0

- name: testKerasPackage
displayName: Keras Package Version
type: string
default: keras==2.12.0rc0
default: keras==2.12.0

- name: enableTests
displayName: Enable Tests
Expand Down
4 changes: 2 additions & 2 deletions pipelines/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ parameters:
default: [tensorflow-cpu]
- name: tensorflowVersion
type: string
default: 2.12.0rc0
default: 2.12.0
- name: kerasPackage
type: string
default: keras==2.12.0rc0
default: keras==2.12.0
- name: pluginBuildPipeline
type: string
default: current
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
black==22.6.0
pylint==2.14.5
tensorboard_plugin_profile==2.8.0
tensorflow-cpu==2.12.0rc0
tensorflow-cpu==2.12.0
vswhere==1.4.0 ; sys_platform == 'win32'
portpicker==1.5.2
5 changes: 1 addition & 4 deletions test/tests.json
Original file line number Diff line number Diff line change
Expand Up @@ -358,10 +358,7 @@
{
"name": "c_api_tests",
"file": "../build/c_api_tests",
"cwd": "build",
"disabled_platforms": [
"nt"
]
"cwd": "build"
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion tfdml/wheel/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
_MY_PLUGIN_PATH = "tensorflow-directml-plugin"

REQUIRED_PACKAGES = [
"tensorflow-cpu == 2.12.0rc0",
"tensorflow-cpu == 2.12.0",
]

if sys.byteorder == "little":
Expand Down

1 comment on commit e579411

@randprint
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there a reason to use == instead of >= to help with dependency hell?

Please sign in to comment.