-
2020-12-03 11:54:00
我正在使用TensorFlow中的神经网络进行一些实验.最新版本的发行说明称DataSet以后是推荐的用于提供输入数据的API.
通常,当从外部世界获取数值时,需要对值的范围进行标准化;如果你插入原始数字,如长度,质量,速度,日期或时间,所产生的问题将是病态的;有必要检查值的动态范围并归一化到范围(0,1)或(-1,1).
这当然可以在原始Python中完成.但是,DataSet提供了许多数据转换功能并鼓励使用它们,理论上结果代码不仅更易于维护,而且运行速度更快.这表明还应该有一个内置的规范化功能.
解决方法:
我对张量流数据集主要思想的理解告诉我,复杂的预处理不能直接应用,因为tf.data.Dataset专门设计用于流式传输大量数据,更准确地说是张量:
A Dataset can be used to represent an input pipeline as a collection
of elements (nested structures of tensors) and a “logical plan” of
transformations that act on those elements.
tf.data.Dataset与张量一起运行的事实意味着获取数据的任何特定统计量,例如min或max,需要一个完整的tf.Session并且至少有一个遍历整个管道.以下示例行:
iterator = dataset.make_one_shot_iterator()
batch_x, batch_y = iterator.get_next()
…无论数据集的大小如何,设计用于快速提供下一批次,如果数据集负责预处理,则会在第一批准备就绪之前停止世界.这就是为什么“逻辑计划”仅包括本地转换,这确保数据可以流式传输,此外,允许进行转换in parallel.
这并不意味着用tf.data.Dataset实现规范化是不可能的,我觉得它从未被设计成这样做,因此,它看起来很难看(虽然我不能完全确定) .但请注意,batch-normalization非常适合这张照片,这是我看到的“不错”选项之一.另一种选择是在numpy中进行简单的预处理,并将其结果输入到tf.data.Dataset.from_tensor_slices中.这不会使管道变得更复杂,但并不限制您完全使用tf.data.Dataset.
更多相关内容 -
python – 如何找到数字范围
2020-12-02 23:06:40我在text.txt文件中有一个数字列表.2.502.562.812.862.843.213.472.912.963.112.832.892.942.943.343.442.942.963.043.012.853.053.10我想收集每组数量的范围.喜欢一个范围内的多少.2.5-2.72.7-2.92.9-3.13.1-3.33.3...我在text.txt文件中有一个数字列表.
2.50
2.56
2.81
2.86
2.84
3.21
3.47
2.91
2.96
3.11
2.83
2.89
2.94
2.94
3.34
3.44
2.94
2.96
3.04
3.01
2.85
3.05
3.10
我想收集每组数量的范围.喜欢一个范围内的多少.
2.5-2.7
2.7-2.9
2.9-3.1
3.1-3.3
3.3-3.5
我试过这个.
from __future__ import division
from math import *
from numpy import *
from string import*
infile = open('text1.txt', 'r')
text = infile.read().split('\n')
infile.close()
text.remove('')
numbers = []
for i in text:
count = 0
if (numbers[i] > 2.49) and (numbers[i] < 2.59):
count += 1
print("Number of elements", count)
它不起作用
解决方法:
您可以使用bisect模块:
>>> import bisect
>>> ranges = [2.5, 2.7, 2.9, 3.1, 3.3, 3.5]
>>> nums = [2.5, 2.56, 2.81, 2.86, 2.84, 3.21, 3.47, 2.91, 2.96, 3.11, 2.83, 2.89, 2.94, 2.94, 3.34, 3.44, 2.94, 2.96, 3.04, 3.01, 2.85, 3.05, 3.1]
>>> lis = [0]*len(ranges)
for item in nums:
ind = bisect.bisect(ranges, item) - 1
lis[ind] += 1
for x, y in zip(zip(ranges, ranges[1:]), lis):
print x, y
...
(2.5, 2.7) 2
(2.7, 2.9) 6
(2.9, 3.1) 9
(3.1, 3.3) 3
(3.3, 3.5) 3
标签:python
-
python如何保证输入键入数字的方法
2020-09-18 18:26:00今天小编就为大家分享一篇python如何保证输入键入数字的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
求python 中if 里如何设定一个值的范围
2020-12-03 11:54:46展开全部number = raw_input (">")。变量名没办法返回,因为变量名程序不知道,也没有意义。如果你62616964757a686964616fe58685e5aeb931333433623164想让程序记住变量名,那就把变量名当做一个变量,但拥有一个...展开全部
number = raw_input (">")。
变量名没办法返回,因为变量名程序不知道,也没有意义。如果你62616964757a686964616fe58685e5aeb931333433623164想让程序记住变量名,那就把变量名当做一个变量,但拥有一个变量名你拿不到。
将简单的条件写在前面罗。
if i>3 and sqrt(i)==int(sqrt(i)):
if 的表达式如果可以拆分为多个以and/or子表达式,会按顺序进行计算,and连接的情况下,得到一个False即不计算后面的表达式了,or连接的情况下,得到一个True就不计算后面的了。所以这可以提高一点速度。
扩展资料:
1、如果是函数定义中参数前的*表示的是将调用时的多个参数放入元组中,**则表示将调用函数时的关键字参数放入一个字典中。
1)如定义以下函数
def func(*args):print(args)
当用func(1,2,3)调用函数时,参数args就是元组(1,2,3)
2)如定义以下函数
def func(**args):print(args)
当用func(a=1,b=2)调用函数时,参数args将会是字典{'a':1,'b':2}
2、如果是在函数调用中,*args表示将可迭代对象扩展为函数的参数列表。
1)args=(1,2,3)
func=(*args)
等价于函数调用func(1,2,3)
函数调用的**表示将字典扩展为关键字参数
2)args={'a':1,'b':2}
func(**args)
等价于函数调用 func(a=1,b=2)
-
Python检查属性的赋值范围 : `__setattr__()`的使用和装饰器
2020-12-03 11:54:01如何在赋值的时候限制一个私有属性的取值范围呢?下面有3种方法可以选择 : 第一种是通过设置一个类的方法, 在方法里面限制取值范围; 第二种是通过property装饰器, 利用装饰器构造出一个描述符, 在setter装饰器里面...如何在赋值的时候限制一个私有属性的取值范围呢?
下面有3种方法可以选择 : 第一种是通过设置一个类的方法, 在方法里面限制取值范围; 第二种是通过property装饰器, 利用装饰器构造出一个描述符, 在setter装饰器里面限制取值范围, 这应该是最常规的做法; 第三种是在__setattr__()的魔法函数里面限制取值范围.
下面以一个例子说明:
1、按要求编写代码题
要求:
1、定义一个人的基类,类中要有初始化方法,方法中要有人的姓名,年龄.
2、将类中的姓名和年龄私有化.
3、设置年龄的范围(0-100).
方法一: 提供设置私有属性的方法
这种比较简单, 不多说, 直接看代码
class People(object):
def __init__(self, name, age=None):
self.__name = name
self.__age = age
def get_age(self):
return self.__age
# 提供设置私有属性的方法
def set_age(self, age):
if 0<=age<=100:
self.__age = age
else:
print("age的值应该在0-100,")
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
people = People("hzf", 100)
people.set_age(150)
print(people.get_age())
输出结果:
age的值应该在0-100,
100
方法二 : 使用property装饰器
装饰器的用途就包括输入值的检查, 所以非常适合在这个情景之中. 通过setter可以进行赋值之前的检查. 装饰器还可以设置类属性的只读功能, 也是很强大, 具体做法只要把设置了装饰器setter的方法去掉,保留@property装饰器就可以了.
class People(object):
def __init__(self, name, age=None):
self.__name = name
self.__age = age
# def get_age(self):
# return self.__age
# 提供设置私有属性的方法
# def set_age(self, age):
# if 0<=age<=100:
# self.__age = age
# else:
# print("age的值应该在0-100,")
#
# def get_name(self):
# return self.__name
#
# def set_name(self, name):
# self.__name = name
# 第二种方法: 使用装饰器
@property
def age(self):
return self.__age
@age.setter
def age(self, age):
if 0<=age<=100:
self.__age = age
else:
print("age的值应该在0-100,")
# 装饰器方法
people = People("hzf", 100)
print(people.age)
people.age = 158
print(people.age)
输出结果:
100
age的值应该在0-100,
100
方法三 : __setattr__()魔法方法
这个魔法方法函数是在给类的属性进行赋值时调用的方法, 所以我才想到在这里拦截赋值.
__setattr_(self, key, value)接收两个参数值, 第一个是key值, 相当于类的属性名, 第二个值是value值, 相当于要赋给key属性的值.
class People(object):
def __init__(self, name, age=None):
self.__name = name
self.__age = age
def get_age(self):
return self.__age
def set_age(self, age):
self.__age = age
# 提供设置私有属性的方法
# def set_age(self, age):
# if 0<=age<=100:
# self.__age = age
# else:
# print("age的值应该在0-100,")
#
# def get_name(self):
# return self.__name
#
# def set_name(self, name):
# self.__name = name
# 第二种方法: 使用装饰器
# @property
# def age(self):
# return self.__age
#
#
# @age.setter
# def age(self, age):
# if 0<=age<=100:
# self.__age = age
# else:
# print("age的值应该在0-100,")
# 第三种方法: 使用__setattr__魔法方法, 同时要使用get_age, 和 set_age方法
def __setattr__(self, key, value):
if key=="_People__age": # 外部访问私有属性时,需要在添加下划线和类名
if not 0<=value<=100:
print("age的值应该在0-100,")
return
self.__dict__[key] = value
# __setattr__魔法方法
people = People("hzf", 100)
people.set_age(150)
print(people.get_age())
输出结果:
age的值应该在0-100,
100
综上所述, 建议使用第二种方法, 利用装饰器对输入值范围进行检查处理.
-
python3 中限制input输入类型为数字
2020-08-04 19:32:13目的:python3 中限制input输入类型为数字。 解决办法: 1.引入re模块,提供类似正则表达式规则 2.使用re模块,限制输入类型 -
将用户输入限制为Python中的范围
2020-11-20 23:20:49在下面的代码中,您将看到...我的问题是我想将输入限制为1到26.For char in sentence:if char in validLetters or char in space: #checks fornewString += char #useable charactersshift = input("Please enter yo... -
Python输入验证:如何将用户输入限制为特定的整数范围?
2021-07-16 13:06:07Beginner here, looking for info on input validation.I want the user to input two values, one has to be an integer greater than zero, the next an integer between 1-10. I've seen a lot of input validati... -
python 数字范围
2020-11-29 18:20:38广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!... python 支持三种不同的数字类型,整数、浮点数和复数。 整数通常被称为整型,数值为正或者负,不... -
判断Python输入是否为数字
2020-11-30 10:23:56在接收raw_input方法后,判断接收到的字符串是否为数字例如:str = raw_input("please input the number:")if str.isdigit():为True表示输入的所有字符都是数字,否则,不是全部为数字str为字符串 str.isalnum() ... -
python entry 文本框只能输入数字 限定数字
2021-12-01 13:50:41把输入为非0-9的字符使用"break"返回掉。 # 端口input self._port_var = StringVar() self._port_entry = Entry(self._set_frame, textvariable=self._port_var, width=10) self._port_entry.grid(row=0, column=1,... -
python textedit限制输入长度
2021-12-21 11:07:18简单说下代码,这个是textChanged绑定的槽函数,输入变化都会调用到。要求限制最大长度是128,原理就是超过的时候我直接把原来的前128个保存下来,然后重新贴进去。有几个需要注意的地方: text_valid = text[0:128... -
Python3 tkinter基础 Entry validate isdigit 只能输入数字的输入框
2020-12-06 08:59:10Python : 3.7.0OS : Ubuntu 18.04.1 LTSIDE : PyCharm 2018.2.4Conda : 4.5.11typesetting : Markdowncode"""@Author : 行初心@Date : 18-10-1@Blog : ... -
20190219 python学习记录 限制只能输入数字,函数调用,取出字典最大值
2019-02-19 14:39:36/usr/bin/env python # -*- coding:utf-8 -*- #函数需要先调用,不然会报错 #给列表还有字典添加数字的时候一定先转换数据类型再添加,不然后面排序的时候不对 def countdata(totaldata,data): returndata = str... -
限制输入内容 只允许数字 或者 字母
2021-03-07 01:29:17只能输入数字: 有回显只能输入数字:无回显function IsNum(e) {var k = window.event ? e.keyCode : e.which;if (((k >= 48) && (k <= 57)) || k == 8 || k == 0) {} else {if (window.event) {... -
【python】pyQT5下lineEdit对话框无法限制输入范围问题的解决方法
2021-10-06 21:41:19pyQT5下QIntValidator无法限制输入范围 在实际使用中,需要对输入的数据进行一个范围的校正,比如仅允许输入0~255之间的数字。 使用了标准的QIntValidator方法,发现还是能够输入超过255的数字 最终解决方案采用了... -
要求用户在Python中输入整数| 限制用户仅输入整数值
2020-08-03 12:41:08input() function can be used for the input, but it reads the value as a string, then we can use the int() function to ... input()函数可用于输入,但它将值读取为字符串,然后可以使用int()函数将字符串值转... -
textFiled限制输入长度.
2021-03-07 01:28:45position) {// 没有高亮选择的字,则对已输入的文字进行字数统计和限制 if (toBeString.length > kMaxLength) { textField.text = [toBeString substringToIndex:kMaxLength]; } } else{//有高亮选择的字符... -
python Entry 文本框只能输入数字或限定数字显示
2020-07-01 11:19:24canvas_win.create_image(150,100,image=im_win) canvas_win.pack() #设置图标 win.iconbitmap(".\\bitbug_favicon.ico") #设置文本只能输入数字 def test(content): # 如果不加上==""的话,就会发现删不完。... -
python_tkinter_Entry限制输入数字小数点,break很关键
2020-01-17 21:32:02python_tkinter_Entry限制输入数字小数点,break很关键 import tkinter as tk def f(a): l =list(e1.get()) for i in range(len(l)-1,-1,-1): if not(48 <= ord(l[i]) <= 57 or ord(l[i]) == 46): ... -
Python 对输入的数字进行排序的方法
2020-11-29 22:15:36Python 对输入的数字进行排序的方法要求,输入一串数字,并以列表的形式打印出来。number = input('请输入一串数字:')print(number)print(type(number))假设输入12345,得到结果如下:请输入一串数字:1234512345... -
python中的数字
2020-12-03 22:43:02python中数字对象的创建如下,a = 123b = 1.23c = 1+1j可以直接输入数字,然后赋值给变量。同样也可是使用类的方式:a = int(123)b = float(1.23)c = complex(1+1j)类的方式创建一般不用,直接输入数... -
限制输入整数的5种情况(学数学学Python编程)
2020-11-23 14:41:24我们都知道,在获取用户输入的时候,搞不清楚用户会输入什么,或敲击哪个按键。为了防止程序不能正常运行,需要有一定的检查判断用户的输入内容,以获取我们想要的数据类型。整数分为正整数、零、负整数,正整数和零... -
在Python中,如何将用户输入限制为仅限于某些整数(即:仅在1100之间,其中还包括1和100)
2020-12-18 04:10:49尝试使用:import randomBOUNDS = (1, 100)TRIES_ALLOWED = 6win = Falsethe_number = random.randint(*BOUNDS)print("\tWelcome to 'Guess My Number'!\n")print("I'm thinking of a number between %d and %d." % ... -
python关于限制lineEdit输入的问题
2021-06-03 15:02:44# 只允许输入浮点数 ... # 限制输入数值长度 self.lineEdit_2.setMaxLength(6) 我想让lineEdit只能输入0.00-100.00的数值; 现在的代码效果为只可可输入0-999之间的数字,小数点限制为2位 输入总长度限制为6 ... -
学习Python(一)
2020-12-23 03:19:24一、Python的基础1、Python是怎样的语言?2、Python的安装Linux安装(python3)yum install -y make zlib zlib-devel gcc-c++ libtool openssl openssl-devel gcc ncurses-devel libpcap-devel wget bzip2-develtar ... -
tkinterttkpython:将文本输入小部件的值限制为数字并限制字符数量
2020-12-16 03:26:44这里可能很简单:在tkinter,ttk中,如何限制用户可以在输入字段中输入的字符数量?例如,只允许用户插入一个字符而限制了插入其他字符的能力?在另外,我怎样才能使它只有一个initger可以输入到文本输入字段中,...