From b1f82f57f45d3cd6bbe29a43b94d91d5f975507d Mon Sep 17 00:00:00 2001 From: Pepijn de Vos Date: Thu, 2 Nov 2023 18:18:28 +0100 Subject: [PATCH] Change typeof(x) <: y to x isa y --- docs/src/optimization_packages/optim.md | 2 +- ext/OptimizationEnzymeExt.jl | 4 ++-- lib/OptimizationBBO/src/OptimizationBBO.jl | 2 +- .../src/OptimizationCMAEvolutionStrategy.jl | 2 +- .../src/OptimizationEvolutionary.jl | 2 +- lib/OptimizationFlux/src/OptimizationFlux.jl | 2 +- lib/OptimizationOptimJL/src/OptimizationOptimJL.jl | 6 +++--- lib/OptimizationOptimisers/src/OptimizationOptimisers.jl | 2 +- lib/OptimizationOptimisers/src/sophia.jl | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/src/optimization_packages/optim.md b/docs/src/optimization_packages/optim.md index 884f6f343..b2474b8ac 100644 --- a/docs/src/optimization_packages/optim.md +++ b/docs/src/optimization_packages/optim.md @@ -274,7 +274,7 @@ Gradient-based optimizers are optimizers which utilize the gradient information * `P = nothing` * `precondprep = (P, x) -> nothing` * `manifold = Flat()` - * `scaleinvH0::Bool = true && (typeof(P) <: Nothing)` + * `scaleinvH0::Bool = true && (P isa Nothing)` - [`Optim.NGMRES()`](https://julianlsolvers.github.io/Optim.jl/stable/#algo/ngmres/) - [`Optim.OACCEL()`](https://julianlsolvers.github.io/Optim.jl/stable/#algo/ngmres/) diff --git a/ext/OptimizationEnzymeExt.jl b/ext/OptimizationEnzymeExt.jl index daa1d2d39..c11ab4b6d 100644 --- a/ext/OptimizationEnzymeExt.jl +++ b/ext/OptimizationEnzymeExt.jl @@ -98,7 +98,7 @@ function Optimization.instantiate_function(f::OptimizationFunction{true}, x, if cons !== nothing && f.cons_j === nothing cons_j = function (J, θ) - if typeof(J) <: Vector + if J isa Vector J .= Enzyme.jacobian(Enzyme.Forward, cons_oop, θ)[1, :] else J .= Enzyme.jacobian(Enzyme.Forward, cons_oop, θ) @@ -232,7 +232,7 @@ function Optimization.instantiate_function(f::OptimizationFunction{true}, if cons !== nothing && f.cons_j === nothing cons_j = function (J, θ) - if typeof(J) <: Vector + if J isa Vector J .= Enzyme.jacobian(Enzyme.Forward, cons_oop, θ)[1, :] else J .= Enzyme.jacobian(Enzyme.Forward, cons_oop, θ) diff --git a/lib/OptimizationBBO/src/OptimizationBBO.jl b/lib/OptimizationBBO/src/OptimizationBBO.jl index f4d3b7eb9..547913ecb 100644 --- a/lib/OptimizationBBO/src/OptimizationBBO.jl +++ b/lib/OptimizationBBO/src/OptimizationBBO.jl @@ -118,7 +118,7 @@ function SciMLBase.__solve(cache::Optimization.OptimizationCache{ cb_call = cache.callback(decompose_trace(trace, cache.progress), x...) end - if !(typeof(cb_call) <: Bool) + if !(cb_call isa Bool) error("The callback should return a boolean `halt` for whether to stop the optimization process.") end if cb_call == true diff --git a/lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl b/lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl index e7839b4b8..1bf22fc3c 100644 --- a/lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl +++ b/lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl @@ -76,7 +76,7 @@ function SciMLBase.__solve(cache::OptimizationCache{ function _cb(trace) cb_call = cache.callback(decompose_trace(trace).metadata["x"], trace.value...) - if !(typeof(cb_call) <: Bool) + if !(cb_call isa Bool) error("The callback should return a boolean `halt` for whether to stop the optimization process.") end cur, state = iterate(data, state) diff --git a/lib/OptimizationEvolutionary/src/OptimizationEvolutionary.jl b/lib/OptimizationEvolutionary/src/OptimizationEvolutionary.jl index 613087c0b..852478ba7 100644 --- a/lib/OptimizationEvolutionary/src/OptimizationEvolutionary.jl +++ b/lib/OptimizationEvolutionary/src/OptimizationEvolutionary.jl @@ -85,7 +85,7 @@ function SciMLBase.__solve(cache::OptimizationCache{ function _cb(trace) cb_call = cache.callback(decompose_trace(trace).metadata["x"], trace.value...) - if !(typeof(cb_call) <: Bool) + if !(cb_call isa Bool) error("The callback should return a boolean `halt` for whether to stop the optimization process.") end cur, state = iterate(cache.data, state) diff --git a/lib/OptimizationFlux/src/OptimizationFlux.jl b/lib/OptimizationFlux/src/OptimizationFlux.jl index c88518198..4ddd7ba6f 100644 --- a/lib/OptimizationFlux/src/OptimizationFlux.jl +++ b/lib/OptimizationFlux/src/OptimizationFlux.jl @@ -66,7 +66,7 @@ function SciMLBase.__solve(cache::OptimizationCache{ cache.f.grad(G, θ, d...) x = cache.f(θ, cache.p, d...) cb_call = cache.callback(θ, x...) - if !(typeof(cb_call) <: Bool) + if !(cb_call isa Bool) error("The callback should return a boolean `halt` for whether to stop the optimization process. Please see the sciml_train documentation for information.") elseif cb_call break diff --git a/lib/OptimizationOptimJL/src/OptimizationOptimJL.jl b/lib/OptimizationOptimJL/src/OptimizationOptimJL.jl index 782e18623..f110b87e9 100644 --- a/lib/OptimizationOptimJL/src/OptimizationOptimJL.jl +++ b/lib/OptimizationOptimJL/src/OptimizationOptimJL.jl @@ -138,7 +138,7 @@ function SciMLBase.__solve(cache::OptimizationCache{ cache.callback(decompose_trace(trace).metadata["centroid"], x...) : cache.callback(decompose_trace(trace).metadata["x"], x...) - if !(typeof(cb_call) <: Bool) + if !(cb_call isa Bool) error("The callback should return a boolean `halt` for whether to stop the optimization process.") end nx_itr = iterate(cache.data, state) @@ -252,7 +252,7 @@ function SciMLBase.__solve(cache::OptimizationCache{ cache.callback(decompose_trace(trace).metadata["centroid"], x...) : cache.callback(decompose_trace(trace).metadata["x"], x...) - if !(typeof(cb_call) <: Bool) + if !(cb_call isa Bool) error("The callback should return a boolean `halt` for whether to stop the optimization process.") end nx_itr = iterate(cache.data, state) @@ -335,7 +335,7 @@ function SciMLBase.__solve(cache::OptimizationCache{ function _cb(trace) cb_call = cache.callback(decompose_trace(trace).metadata["x"], x...) - if !(typeof(cb_call) <: Bool) + if !(cb_call isa Bool) error("The callback should return a boolean `halt` for whether to stop the optimization process.") end nx_itr = iterate(cache.data, state) diff --git a/lib/OptimizationOptimisers/src/OptimizationOptimisers.jl b/lib/OptimizationOptimisers/src/OptimizationOptimisers.jl index 2886aef33..7f94b34a9 100644 --- a/lib/OptimizationOptimisers/src/OptimizationOptimisers.jl +++ b/lib/OptimizationOptimisers/src/OptimizationOptimisers.jl @@ -65,7 +65,7 @@ function SciMLBase.__solve(cache::OptimizationCache{ cache.f.grad(G, θ, d...) x = cache.f(θ, cache.p, d...) cb_call = cache.callback(θ, x...) - if !(typeof(cb_call) <: Bool) + if !(cb_call isa Bool) error("The callback should return a boolean `halt` for whether to stop the optimization process. Please see the sciml_train documentation for information.") elseif cb_call break diff --git a/lib/OptimizationOptimisers/src/sophia.jl b/lib/OptimizationOptimisers/src/sophia.jl index ada54090e..481a069cb 100644 --- a/lib/OptimizationOptimisers/src/sophia.jl +++ b/lib/OptimizationOptimisers/src/sophia.jl @@ -93,7 +93,7 @@ function SciMLBase.__solve(cache::OptimizationCache{ f.grad(gₜ, θ, d...) x = cache.f(θ, cache.p, d...) cb_call = cache.callback(θ, x...) - if !(typeof(cb_call) <: Bool) + if !(cb_call isa Bool) error("The callback should return a boolean `halt` for whether to stop the optimization process. Please see the sciml_train documentation for information.") elseif cb_call break