follow comment from panxin

tonyyang-svail-patch-1
chengduoZH 7 years ago
parent 470d671792
commit 5d30142889

@ -11,10 +11,13 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
import numpy as np
def convert_to_list(value, n, name): def convert_to_list(value, n, name, dtype=np.int):
"""Converts a single integer or iterable of integers into an integer list. """
Converts a single numerical type or iterable of numerical
types into an numerical type list.
Arguments: Arguments:
value: The value to validate and convert. Could an int, or any iterable value: The value to validate and convert. Could an int, or any iterable
@ -22,15 +25,16 @@ def convert_to_list(value, n, name):
n: The size of the list to be returned. n: The size of the list to be returned.
name: The name of the argument being validated, e.g. "stride" or name: The name of the argument being validated, e.g. "stride" or
"filter_size". This is only used to format error messages. "filter_size". This is only used to format error messages.
dtype: the numerical type of the element of the list to be returned.
Returns: Returns:
A list of n integers. A list of n dtypes.
Raises: Raises:
ValueError: If something else than an int/long or iterable thereof was ValueError: If something else than an int/long or iterable thereof was
passed. passed.
""" """
if isinstance(value, int): if isinstance(value, dtype):
return [value, ] * n return [value, ] * n
else: else:
try: try:
@ -44,11 +48,12 @@ def convert_to_list(value, n, name):
". Received: " + str(value)) ". Received: " + str(value))
for single_value in value_list: for single_value in value_list:
try: try:
int(single_value) dtype(single_value)
except (ValueError, TypeError): except (ValueError, TypeError):
raise ValueError( raise ValueError(
"The " + name + "'s type must be a list or tuple of " + str( "The " + name + "'s type must be a list or tuple of " + str(
n) + " integers. Received: " + str(value) + " " n) + " " + str(dtype) + " . Received: " + str(
value) + " "
"including element " + str(single_value) + " of type" + " " "including element " + str(single_value) + " of type" + " "
+ str(type(single_value))) + str(type(single_value)))
return value_list return value_list

Loading…
Cancel
Save