-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updating to newer python #1933
Updating to newer python #1933
Conversation
Hm, the windows tests are failing because cbcpy from LOGOS is not available for python > 3.7. |
The typical other failures are:
Basically, these need to be regolded. |
I couldn't find anywhere that cpcpy is actually used. I think it was intended to be a workaround to installing the CBC solver on Windows to work with pyomo since conda doesn't support a Windows installation. I think the dependency should be removed (easier) and abandon the use of CBC on Windows (unless the user goes through the process of installing CBC from the binaries like me, not recommended), or additional work done to integrate cbcpy with pyomo (more work). |
Job Precheck on 1147bea : invalidated by @joshua-cogliati-inl Could not resolve host: github.com |
1 similar comment
Job Precheck on 1147bea : invalidated by @joshua-cogliati-inl Could not resolve host: github.com |
Job Test CentOS 7 on 26af206 : invalidated by @joshua-cogliati-inl failed in set python environment |
Job Mingw Test on 26af206 : invalidated by @joshua-cogliati-inl failed in fetch |
Considering that the result of running the LOGOS windows tests with cbcpy with python 3.7 is:
dropping it is definitely worth trying. |
Job Mingw Test on fa9eb41 : invalidated by @joshua-cogliati-inl failed in fetch |
type = OrderedCSV | ||
output = 'data/outCon1DClassifier.csv' | ||
#note, mac uses tensorflow 2.7 but others use 2.3 | ||
mac_gold = 'mac/data/outCon1DClassifier.csv' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dgarrett622 Thanks for adding the os specific gold files :)
This pull request depends on idaholab/LOGOS#42 |
Job Mingw Test on d2fdece : invalidated by @joshua-cogliati-inl computer rebooted |
Which now has been merged, so this is ready to review. |
Job Test Ubuntu 18 PIP on 1e0d4d1 : invalidated by @joshua-cogliati-inl restarted civet |
Job Test qsubs sawtooth on 3b8e016 : invalidated by @joshua-cogliati-inl FAILED: Diff tests/cluster_tests/AdaptiveSobol/test_parallel_adaptive_sobol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@joshua-cogliati-inl I have reviewed the changes, and I have following comments
- It seems our tests for tensor flow is not reliable, the values for test keras_mlp_regression change significantly
- Do you know why the tests for Adaptive Batch need to be regold?
The result for tensorflow looks good to me. For the other test, which one is the original results for the limit surface test, the orange color? I'm curious why the samples get changed, Do you see any libraries versions difference? |
Yes, the orange were the original. I am not sure why the samples got changed. The adaptive batch doesn't seem to be using tensorflow, and other libraries (including scipy 1.5.3 and scikit-learn 0.24.2) are generally the same. |
Both results look reasonable for me. But I think if you have some extra time I would recommend to take a deep look at the code and figure out the cause for the difference. |
I haven't figured out the exact cause yet, but it is in Samplers/LimitSurfaceSearch.py |
More details. In Samplers/LimitSurfaceSearch.py it is finding different values for if self.surfPoint is not None and len(self.surfPoint) > 0:
if self.batchStrategy == 'none':
self.__scoreCandidates()
maxDistance, maxGridId, maxId = 0.0, "", 0
for key, value in sorted(self.invPointPersistence.items()):
if key != self.exceptionGrid and self.surfPoint[key] is not None:
localMax = np.max(self.scores[key])
if localMax > maxDistance:
maxDistance, maxGridId, maxId = localMax, key, np.argmax(self.scores[key])
if maxDistance > 0.0:
for varIndex, _ in enumerate([key.replace('<distribution>','') for key in self.axisName]):
self.values[self.axisName[varIndex]] = copy.copy(float(self.surfPoint[maxGridId][maxId,varIndex]))
self.inputInfo['SampledVarsPb'][self.axisName[varIndex]] = self.distDict[self.axisName[varIndex]].pdf(self.values[self.axisName[varIndex]])
self.inputInfo['ProbabilityWeight-'+self.axisName[varIndex]] = self.distDict[self.axisName[varIndex]].pdf(self.values[self.axisName[varIndex]])
varSet=True
else:
self.raiseADebug('Maximum score is 0.0') For the place where there are differences, |
checklist is good, tests are green. |
* Trying with tensorflow 2 float. * list size varies between python versions. * Testing removing cbcpy. * Regolding tests/framework/Samplers/AdaptiveBatch/ThickenedBand * Regolding tensorflow tests. * Trying specifying tensorflow version. * Use 2.4 on mac and 2.3 on linux and windows. * Adding min_python_version check in rook and using for test * Fix pylint problems. * Mac needs a different version of tensorflow. * Switching to different gold file. * If gold file not found, print out expected filename. * Revert LOGOS change. * Updating LOGOS and HERON submodules. * Forcing version of protobuf because of ray incompatibility. Co-authored-by: civet runner <[email protected]>
Pull Request Description
What issue does this change request address?
#1748
see #1806 and #1764
What are the significant changes in functionality due to this change request?
Updating dependencies to update python version. It also regolds some tensorflow files and adds a new
min_python_version
to test specifications.For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.
<internalParallel>
to True.raven/tests/framework/user_guide
andraven/docs/workshop
) have been changed, the associated documentation must be reviewed and assured the text matches the example.