提交 5d301428 编写于 作者: C chengduoZH

follow comment from panxin

上级 470d6717
...@@ -11,10 +11,13 @@ ...@@ -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): ...@@ -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): ...@@ -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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册