python 向列表中添加为什么总是空列表??

一个集合中没有重复元素,求该集合的所有子集。求集合的所有子集问题。题目要求子集中元素非递减序排列,因此我们先要对原来的集合进行排序。原集合中每一个元素在子集中有两种状态:要么存在、要么不存在。这样构造子集的过程中每个元素就有两种选择方法:选择、不选择,因此可以构造一颗二叉树,最后得到的叶子节点就是子集。。下面是Python代码,出现的问题用注释标出来了,如下:
class Solution(object):
def subsets(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
self.sub_sets=[]
self.sub_set=[]
nums.sort()
self.dfs(nums,0)
return self.sub_sets

def dfs(self,nums,index):
    if index==len(nums):
        print self.sub_set #此处能够输出正确结果
        self.sub_sets.append(self.sub_set)#向列表中添加子集时,为啥加入的总是[]?????
        return 
    #选择nums[index]
    self.sub_set.append(nums[index])
    self.dfs(nums,index+1)
    #不选择nums[index]
    self.sub_set.pop()
    self.dfs(nums,index+1)

s=Solution()
l=[1,2,3]
print s.subsets(l)
运行结果如下:
[1, 2, 3]
[1, 2]
[1, 3]
[1]
[2, 3]
[2]
[3]
[]
[[], [], [], [], [], [], [], []] #此处为什么全是空列表??在添加之前明明能够正常输出的!求解释。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python的xlwings怎样选取当前列表中空行/空单元格?
xlwings里可以向下选择当前非空单元格 sht.end('down') 可是想再选择下面一个空单元格该怎么写呢? 我想在空单元格添加内容,但是每次空单元格的位置都不一样,所以想有没有直接选择第一个空单元格/空行的命令。
python networkx构建网络时为什么会遗漏掉一些边
在用networkx库构建网络时,总是会遗漏掉一些边。 比如图中的第3行和第4行,我构建的是有向图 ![图片说明](https://img-ask.csdn.net/upload/201906/19/1560933223_158653.png) ``` def create_network(nodepath,edgepath): # 绘制一个空图G G = nx.DiGraph() # 打开节点文件夹,添加节点 nodefile = pd.read_csv(nodepath) node_list = nodefile.values.tolist() for i in range(len(node_list)): G.add_node(node_list[i][0]) # 打开OD文件夹,添加带有权重的边 edgefile = pd.read_csv(edgepath) edge_list = edgefile.values.tolist() for j in range(len(edge_list)): G.add_weighted_edges_from([(edge_list[j][0],edge_list[j][1], edge_list[j][2])]) ``` 跪求前辈解答,感恩!
函数返回tuple怎么添加List里面(python环境下)
1、在python环境下调用函数返回tuple,将结果添加在list list在循环前为空 2、代码如下: ``` result=[] print(type(result)) for i in range(len(urllist)): print(i) add=urlget(urllist[i]) print(type(add)) result=result.append(add) print(type(result)) ``` 3、报错信息 <class 'list'> 0 <class 'tuple'> <class 'NoneType'> 1 Traceback (most recent call last): File "C:/Users/123/PycharmProjects/urldownload/urlopentest.py", line 84, in <module> result=result.append(add) AttributeError: 'NoneType' object has no attribute 'append' <class 'tuple'>
RIDE的testcase edit界面显示异常/空白
问题描述: 在电脑A通过运行exe安装python后,把python38文件夹拷贝到另一台电脑B(Python\Python38)。 在电脑B的Python文件夹安装pip,并安装Selenium2Library, robotframework, wxPython, robotframework-ride 安装成功,环境配置成功 电脑B运行ride.py,RIDE的testcase edit界面显示异常/空白(如图) 此时cmd的报错信息: module 'urllib' has no attribute 'Request' 尝试过的方法: 1、在ride.py添加import urllib.request 2、安装urllib3 3、添加requests packages,及配套的certifi, idna;Django packages,和pytz, sqlparse, chardet等。 以上,均未解决问题。 希望有大神可以帮助解答,谢谢! ![图片说明](https://img-ask.csdn.net/upload/201911/08/1573205687_271275.jpg)
python操作word报错ValueError: can only parse strings。
1、问题描述: 学习Python操作word文件,使用render()方法时报错ValueError: can only parse strings。 2、相关代码 ``` # _*_ encoding:utf-8 _*_ from docxtpl import DocxTemplate data_dic = { 't1':'燕子', 't2':'杨柳', 't3':'桃花', 't4':'针尖', 't5':'头涔涔', 't6':'泪潸潸', 't7':'茫茫然', 't8':'伶伶俐俐', } doc = DocxTemplate("/test/test.doc") #加载模板文件 doc.render(data_dic) #填充数据 doc.save("/test/target.doc") ``` 3、模板信息: ``` {{r t1}}去了,有再来的时候;{{r t2}}枯了,有再青的时候;{{r t3}}谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:现在又到了哪里呢? 我不知道他们给了我多少日子;但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我手中溜去;像{{r t4}}上一滴水滴在大海里,我的日子滴在时间的流里,没有声音,也没有影子。我不禁{{r t5}}而{{r t6}}了。 去的尽管去了,来的尽管来着;去来的中间,又怎样地匆匆呢?早上我起来的时候,小屋里射进两三方斜斜的太阳。太阳他有脚啊,轻轻悄悄地挪移了;我也{{r t7}}跟着旋转。于是——洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去;默默时,便从凝然的双眼前过去。我觉察他去的匆匆了,伸出手遮挽时,他又从遮挽着的手边过去,天黑时,我躺在床上,他便{{r t8}}地从我身上跨过,从我脚边飞去了。等我睁开眼和太阳再见,这算又溜走了一日。我掩着面叹息。但是新来的日子的影儿又开始在叹息里闪过了。 ``` 4、报错信息: ![图片说明](https://img-ask.csdn.net/upload/202001/15/1579068250_471502.png) 5、相关依赖包版本 ``` doc 0.1.0 docx 0.2.4 docxtpl 0.6.3 lxml 3.2.1 Jinja2 2.10.3 ``` 6、我尝试更换了lxml的版本发现报错信息一样。我又尝试跟踪错误,在这个文件里: ![图片说明](https://img-ask.csdn.net/upload/202001/15/1579068951_317573.png) 打印了一下text: ![图片说明](https://img-ask.csdn.net/upload/202001/15/1579068974_898727.png) 发现有一步text为None: ![图片说明](https://img-ask.csdn.net/upload/202001/15/1579069045_944104.png) 7、所以想问一下有没有大佬遇到并解决过这个问题,怎么解决这个问题。救救一下小萌新吧,还有就是val._target._blob这个变量里存的是什么数据,为什么会出现None的情况?谢谢大佬的指点! 8、追加: 问题暂时得到了解决,我在get_headers_footers_xml这个函数里添加了不为空的判断if val._target._blob != None:yield relKey, self.xml_to_string(parse_xml(val._target._blob)) 就不再报错并且成功写入到目标文件里,但是我仍然不清楚这是不是依赖包本身的BUG。如果有大佬知道的话请指点我一下。如果也有遇到这个问题的朋友,可以试一试我这个方法暂时解决一下。下面是我修改的图片: ![图片说明](https://img-ask.csdn.net/upload/202001/15/1579074850_454765.png)
Python天天生鲜项目里面的数据库是空的?
###大佬们好 使用Django框架开发天天生鲜项目。我写的网站是从数据库中读取商品信息,然后在主页显示。现在主页是空白的,我想是因为数据库里没有相应的内容。所以想请教一下做过的大佬们,当初是怎么解决这个问题的。数据库的内容要怎么添加?万分感谢
PyQt5中为什么通过循环遍历向tableWidget表格里添加按钮控件,只有最后一个位置有按钮,其他位置都不显示?
已经成功的向表格中单元格加入控件,但是在通过循环遍历加入按钮时,发现只有最后一个位置能显示出按钮,遍历的其他位置都显示空白,无法显示出按钮。但是这些单元格也变成了无法选中的状态。求大神帮助一下! ![图片说明](https://img-ask.csdn.net/upload/201912/12/1576139273_805826.png) ![图片说明](https://img-ask.csdn.net/upload/201912/12/1576139284_773615.png)
python使用os.walk进行遍历出现编码错误
本意是想用sklearn进行tf-idf统计的,需要对路径下的文件夹和文件进行遍历,现在有代码部分为 ``` path = 'D:\Python27' for subdir, dirs, files in os.walk(path): for file in files: file_path = subdir + os.path.sep + file ``` 在没有修改编码方式程序运行出错,UnicodeDecodeError: 'utf8' codec can't decode byte 0xc6 in position 5266: invalid continuation byte 我试着添加了import sys reload(sys) sys.setdefaultencoding('utf-8') 这样程序倒是没错了,可是输出就是为空,有谁知道问题出在哪了? 还需要贴哪部分代码请说,感激不尽
python编程从入门到实践 关于 edit_entry
之前没有任何问题,到做edit_entry的时候报错了 NoReverseMatch at /topics/2/ Reverse for 'edit_entry' with arguments '('',)' not found. 1 pattern(s) tried: ['edit_entry/(?P<entry_id>\\d+)/'] urls页面: from django.urls import path, re_path from . import views app_name = 'learning_logs' urlpatterns = [ #主页 path('', views.index, name='index'), #显示所有主题 path('topics/', views.topics, name='topics'), #特定主题的详细页面 re_path('topics/(?P<topic_id>\d+)/', views.topic, name='topic'), #用于添加新主题的网页 path('new_topic/', views.new_topic, name='new_topic'), #用于添加新条目的页面 re_path('new_entry/(?P<topic_id>\d+)/', views.new_entry, name='new_entry'), #用于编辑条目的页面 re_path('edit_entry/(?P<entry_id>\d+)/', views.edit_entry, name='edit_entry'), ] views页面: from django.shortcuts import render from django.http import HttpResponseRedirect from django.urls import reverse from .models import Topic, Entry from .forms import TopicForm, EntryForm # Create your views here. def index(request): """学习笔记的主页""" return render(request, 'learning_logs/index.html') def topics(request): """显示所有的主题""" topics = Topic.objects.order_by('date_added') context = {'topics': topics} return render(request, 'learning_logs/topics.html', context) def topic(request, topic_id): """显示单个主题及其所有的条目""" topic = Topic.objects.get(id=topic_id) entries = topic.entry_set.order_by('-date_added') context = {'topic': topic, 'entries': entries} return render(request, 'learning_logs/topic.html', context) def new_topic(request): """添加新主题""" if request.method != 'POST': #未提交数据: 创建一个新表单 form = TopicForm() else: form = TopicForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(reverse('learning_logs:topics')) context = {'form': form} return render(request, 'learning_logs/new_topic.html', context) def new_entry(request, topic_id): """在特定的主题中添加新条目""" topic = Topic.objects.get(id=topic_id) if request.method != 'POST': #未提交数据,创建一个空表单 form = EntryForm() else: #POST提交的数据,对数据进行处理 form = EntryForm(data=request.POST) if form.is_valid(): new_entry = form.save(commit=False) new_entry.topic = topic new_entry.save() return HttpResponseRedirect(reverse('learning_logs:topic', args=[topic_id])) context = {'topic': topic, 'form': form} return render(request, 'learning_logs/new_entry.html', context) def edit_entry(request, entry_id): """编辑既有条目""" entry = Entry.objects.get(id=entry_id) topic = entry.topic if request.method != 'POST': #初次请求,使用当前条目填充表单 form = EntryForm(instance=entry) else: #POST提交的数据,对数据进行处理 form = EntryForm(instance=entry, data=request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(reverse('learning_logs:topic', args=[topic.id])) context = {'entry': entry, 'topic': topic, 'form': form} return render(request, 'learning_logs/edit_entry.html', context)
请问出现这个错误是怎么回事啊?小白实在看不懂
KeyError Traceback (most recent call last) <ipython-input-1-9fcfe1498bd0> in <module> 49 U = {'A':inf,'B':inf,'C':inf,'E':inf,'F':inf,'G':inf} #未确定的最短路径集合 50 while(U != {}): #直到未确定最短路径为空,才最终确定完最短路径 ---> 51 findCloestrout(inf,rout,S,U,cloest_rout) 52 53 for list1 in cloest_rout: <ipython-input-1-9fcfe1498bd0> in findCloestrout(inf, rout, S, U, cloest_rout) 22 min_value = U[key] 23 key_min = key ---> 24 del U[key_min]#从未确定的最短路径集合删除可以确定的最短路径 25 S[key_min] = min_value#添加已经确定的最短路径 26 for num in range(len(cloest_rout)): KeyError: None
python单链表问题,有个问题怎么改?
代码如下 class Node(object): #首先创建一个单链表,需要value域,和一个next指针域 def __init__(self,value=None,next=None): self.value,self.next = value,next class LinkList(object): #创建链表 def __init__(self,maxsize=None): #,该函数是初始化这个链表,让maxsize=None,意思是这个链表可以无限长 self.maxsize=maxsize self.root=Node() #根结点只是起到入口的作用,不能存放东西,所以让它为空结点 self.length=0 self.tailnode=None def __len__(self): #返回长度 return self.length def append(self,value): #添加结点(尾插法) if self.maxsize is not None and len(self)>self.maxsize: #判断是否超限,如果超限则抛出一个异常 raise Exception('Full') node = Node(value) tailnode= self.tailnode if tailnode is None: self.root.next=node else: tailnode.next=node self.tailnode=node self.length+=1 def appendleft(self,value): #添加结点(头插法) headnode=self.root.next node=Node(value) self.root.next=node node.next=headnode self.length+=1 def iter_node(self): #遍历整个链表 curnode = self.root.next while curnode is not self.tailnode: yield curnode curnode = curnode.next yield curnode def __iter__(self): #遍历并输出 for node in self.iter_node(): yield node.value def remove(self,value): #O(n) 因为不能像顺序结构直接通过下标来访问结点,所以时间复杂度是n prevnode =self.root #负责记住前一个结点 curnode=self.root.next for curnode in self.iter_node(): if curnode.value==value: prevnode.next=curnode.next del curnode self.length-=1 return 1 else: prevnode=curnode return -1 def find(self,value): #O(n) 寻找链表中某一个元素的位置,若没有该元素,则返回-1 index=0 for node in self.iter_node(): if node.value==value: return index index+=1 return -1 def popleft(self): #O(1),弹出第一个元素 if self.root.next is None: raise Exception('pop from empty Linklist') headnode = self.root.next value=headnode.value self.length-=1 del headnode return value def clear(self):#清除整个链表 for node in self.iter_node(): del node self.root.next=None self.length=0 if __name__ == '__main__': ll=LinkList() ll.append(0) ll.append(1) ll.append(2) assert len(ll)==3 assert ll.find(2)==2 assert ll.find(3)==-1 ll.remove(0) assert len(ll)==2 assert ll.find(0)==-1 assert list(ll)==[1,2] ll.appendleft(0) assert list(ll)==[0,1,2] assert len(ll)==3 handvalue=ll.popleft() assert handvalue==0 assert len(ll)==2 print(list(ll)) ll.clear() assert len(ll)==0 我想用popleft删除第一个元素,代码执行到print(list(ll)),却输出[0,1,2],有没有大神帮忙看一下
mac系统使用qtdesigner菜单栏不显示title
各位大神,我在学习使用其他designer的时候,插入一个mianwindow窗口,添加title时却都不显示,都是空白的,但实际是有的。这是怎么回事?是因为软件不兼容的问题吗
py2exe打包后的exe运行不了
各位前辈们,小弟是python新手,刚用了不到两个月,希望前辈们多多指教。想问一下有没有谁遇到过我这样的问题: python开发的程序,在python开发环境(eclipse上装python插件,点击Run)上能够正常运行,打包后生成了全部的文件(包括:exe文件,zip文件,还有一个w9xpopen.exe),也上网找了不少资料,类似跟msvcr90.dll相关的文章:http://hi.baidu.com/yangyingchao/item/2a61cf77e412c95c0c0a0743 没能解决我的问题。点击exe后在任务管理器里面没有发现有应用程序的进程。在创建app前添加了写文件的语句,如: if __name__ == '__main__': OpmexPlatformLog.writeLog(u"__main__:\n") testAPP = DeliveryTestToolsApp() testAPP.MainLoop() 运行exe后文件仍然是空的。 哪位大神有过类似的经验或者有跟踪的方法拿出来借鉴借鉴。谢谢了!
采用多线程爬取包情包,程序运行得不到预计的结果,求帮助
程序目的是采用多线程的方式,爬取斗图啦前100页的所有表情包。 我采用的是多线程的方式, 第一次运行的时候,程序能爬,但只爬取5页的表情包,程序就结束了。再次运行的时候,程序一直在运行,不停下来。我尝试过修改线程数,没有任何作用。 代码如下,希望有大佬,好心人,帮我看看程序出错在哪? ``` from urllib import request from queue import Queue from lxml import etree import threading import requests import time import re import os # 生产者模型 class Producer(threading.Thread): headers ={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" } # 实例方法,接受参数值 def __init__(self,page_queue,img_queue,*args,**kwargs): super(Producer,self).__init__(*args,**kwargs) self.page_queue = page_queue self.img_queue = img_queue def run(self): while True: if self.page_queue.empty(): # 退出循环调节为装url的队列全空 break url = self.page_queue.get() # 拿到url,进行解析 self.parse_page(url) def parse_page(self,url): response = requests.get(url,headers=self.headers,timeout=30) text = response.text html = etree.HTML(text) imgs = html.xpath('//div[@class="page-content text-center"]//img[@class!="gif"]') for img in imgs: img_url = img.get('data-original') alt = img.get('alt') alt = re.sub(r'[\??\.。!\*\!/:]','',alt) suffix = os.path.splitext(img_url)[1] filename = alt + suffix # 将得到信息传递给中间这,然后在给消费者 self.img_queue.put((img_url,filename)) # 文件信息给队列 # 消费者模型 class Consumer(threading.Thread): def __init__(self,page_queue,img_queue,*args,**kwargs): super(Consumer,self).__init__(*args,**kwargs) self.page_queue = page_queue self.img_queue = img_queue def run(self): while True: if self.img_queue.empty() and self.page_queue.empty(): break img_url, filename = self.img_queue.get() with open('F:/imgs/{}'.format(filename),'wb') as f: f.write(requests.get(img_url).content) print("{}".format(filename)) def main(): page_queue = Queue(100) #存储文件信息,包括url和文件名 img_queue = Queue(500) # 存储图片的队列 # 打印前100页的url,存入队列中 for i in range(1,101): url = 'http://www.doutula.com/photo/list/?page={}'.format(i) page_queue.put(url) # 添加url到队列中 # 开启5个生产者 for x in range(5): t = Producer(page_queue,img_queue) t.start() # 开启4个消费者 for x in range(4): t = Consumer(page_queue,img_queue) t.start() if __name__ == '__main__': main() __name__ == '__main__': main() ```
keras实现人脸识别,训练失败……请教大神指点迷津!!!
![图片说明](https://img-ask.csdn.net/upload/201904/26/1556209614_615215.jpg) 各位大神,如图所示,在训练过程中,第二轮开始出现问题,这是什么原因呢? 代码如下: ------------------------------------------------- ``` import random import keras import numpy as np import cv2 from sklearn.model_selection import train_test_split from keras.preprocessing.image import ImageDataGenerator from keras.models import Sequential from keras.layers import Dense, Dropout, Activation, Flatten from keras.layers import Convolution2D, MaxPooling2D from keras.optimizers import SGD from keras.utils import np_utils from keras.models import load_model from keras import backend as K from source_data import load_dataset,resize_img #定义数据集格式 class Dataset: def __init__(self, path_name): #训练数据集 self.train_images = None self.train_labels = None #测试集 self.valid_images = None self.valid_labels = None #样本数据 self.test_images = None self.test_labels = None #load路径 self.path_name = path_name #维度顺序 self.input_shape = None #加载数据集并按照交叉验证的原则划分数据集,完成数据预处理 def load(self,img_rows=64, img_cols=64,img_channels = 3,nb_classes = 2): #加载数据集到内存 images,labels=load_dataset(self.path_name)#函数调用 train_images, valid_images, train_labels, valid_labels= train_test_split(images, labels, test_size = 0.3, random_state = random.randint(0, 100)) _, test_images, _, test_labels = train_test_split(images, labels, test_size = 0.5, random_state = random.randint(0, 100)) #根据backend类型确定输入图片数据时的顺序为:channels,rows,cols,否则:rows,cols,channels #这部分代码就是根据keras库要求的维度顺序重组训练数据集 train_images = train_images.reshape(train_images.shape[0], img_rows, img_cols, img_channels) valid_images = valid_images.reshape(valid_images.shape[0], img_rows, img_cols, img_channels) test_images = test_images.reshape(test_images.shape[0], img_rows, img_cols, img_channels) self.input_shape = (img_rows, img_cols, img_channels) #输出训练集、验证集、测试集的数量 print(train_images.shape[0], 'train samples') print(valid_images.shape[0], 'valid samples') print(test_images.shape[0], 'test samples') #我们的模型使用categorical_crossentropy作为损失函数,因此需要根据类别数量nb_classes将 #类别标签进行one-hot编码使其向量化,在这里我们的类别只有两种,经过转化后标签数据变为二维 train_labels = np_utils.to_categorical(train_labels, nb_classes) valid_labels = np_utils.to_categorical(valid_labels, nb_classes) test_labels = np_utils.to_categorical(test_labels, nb_classes) #像素数据浮点化以便归一化 train_images = train_images.astype('float32') valid_images = valid_images.astype('float32') test_images = test_images.astype('float32') #将其归一化,图像的各像素值归一化到0—1区间 train_images /= 255 valid_images /= 255 test_images /= 255 self.train_images = train_images self.valid_images = valid_images self.test_images = test_images self.train_labels = train_labels self.valid_labels = valid_labels self.test_labels = test_labels class Model: def __init__(self): self.model = None #建立keras模型 def build_model(self, dataset, nb_classes = 2): #构建一个空的网络模型,序贯模型或线性堆叠模型,添加各个layer self.model = Sequential() #以下代码将顺序添加CNN网络需要的各层,一个add就是一个网络层 self.model.add(Convolution2D(32, 3, 3, border_mode='same', input_shape = dataset.input_shape)) #1 2维卷积层 self.model.add(Activation('relu')) #2 激活函数层 self.model.add(Convolution2D(32, 3, 3)) #3 2维卷积层 self.model.add(Activation('relu')) #4 激活函数层 self.model.add(MaxPooling2D(pool_size=(2, 2))) #5 池化层 self.model.add(Dropout(0.25)) #6 Dropout层 self.model.add(Convolution2D(64, 3, 3, border_mode='same')) #7 2维卷积层 self.model.add(Activation('relu')) #8 激活函数层 self.model.add(Convolution2D(64, 3, 3)) #9 2维卷积层 self.model.add(Activation('relu')) #10 激活函数层 self.model.add(MaxPooling2D(pool_size=(2, 2))) #11 池化层 self.model.add(Dropout(0.25)) #12 Dropout层 self.model.add(Flatten()) #13 Flatten层 self.model.add(Dense(512)) #14 Dense层,又被称作全连接层 self.model.add(Activation('relu')) #15 激活函数层 self.model.add(Dropout(0.5)) #16 Dropout层 self.model.add(Dense(nb_classes)) #17 Dense层 self.model.add(Activation('softmax')) #18 分类层,输出最终结果 #Prints a string summary of the network self.model.summary() #训练模型 def train(self, dataset, batch_size = 20, nb_epoch = 10, data_augmentation = True): sgd = SGD(lr = 0.01, decay = 1e-6, momentum = 0.9, nesterov = True) #采用随机梯度下降优化器进行训练,首先生成一个优化器对象 self.model.compile(loss='categorical_crossentropy', optimizer=sgd,metrics=['accuracy']) #完成实际的模型配置 #不使用数据提升,所谓的提升就是从我们提供的训练数据中利用旋转、翻转、加噪声等方法提升训练数据规模,增加模型训练量 if not data_augmentation: self.model.fit(dataset.train_images, dataset.train_labels, batch_size = batch_size, epochs = nb_epoch, validation_data = (dataset.valid_images, dataset.valid_labels), shuffle = True) #使用实时数据提升 else: #定义数据生成器用于数据提升,其返回一个生成器对象datagen,datagen每被调用一 #次其生成一组数据(顺序生成),节省内存,其实就是python的数据生成器 datagen = ImageDataGenerator( featurewise_center = False, #是否使输入数据去中心化(均值为0), samplewise_center = False, #是否使输入数据的每个样本均值为0 featurewise_std_normalization = False, #是否数据标准化(输入数据除以数据集的标准差) samplewise_std_normalization = False, #是否将每个样本数据除以自身的标准差 zca_whitening = False, #是否对输入数据施以ZCA白化 rotation_range = 20, #数据提升时图片随机转动的角度(范围为0~180) width_shift_range = 0.2, #数据提升时图片水平偏移的幅度(单位为图片宽度的占比,0~1之间的浮点数) height_shift_range = 0.2, #同上,只不过这里是垂直 horizontal_flip = True, #是否进行随机水平翻转 vertical_flip = False) #是否进行随机垂直翻转 #计算整个训练样本集的数量以用于特征值归一化等处理 datagen.fit(dataset.train_images) #利用生成器开始训练模型—0.7*N self.model.fit_generator(datagen.flow(dataset.train_images, dataset.train_labels, batch_size = batch_size), steps_per_epoch = dataset.train_images.shape[0], epochs = nb_epoch, validation_data = (dataset.valid_images, dataset.valid_labels)) if __name__ == '__main__': dataset = Dataset('e:\saving') dataset.load()#实例操作,完成实际数据加载和预处理 model = Model() model.build_model(dataset) #训练数据 model.train(dataset) ```
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
C语言荣获2019年度最佳编程语言
关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang近日,TIOBE官方发布了2020年1月编程语言排行榜单。我在前面给过一篇文章《2019年11月C语言接近Ja...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
应届生/社招面试最爱问的几道Java基础问题
本文已经收录自笔者开源的 JavaGuide: https://github.com/Snailclimb (【Java学习 面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识)如果觉得不错的还,不妨去点个Star,鼓励一下! 一 为什么 Java 中只有值传递? 首先回顾一下在程序设计语言中有关将参数传递给方法(或函数)的一些专业术语。按值调用(call by value)表...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
一份王者荣耀的英雄数据报告
咪哥杂谈本篇阅读时间约为 6 分钟。1前言前一阵写了关于王者的一些系列文章,从数据的获取到数据清洗,数据落地,都是为了本篇的铺垫。今天来实现一下,看看不同维度得到的结论。2环境准备本次实...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
Python全栈 Linux基础之3.Linux常用命令
Linux对文件(包括目录)有很多常用命令,可以加快开发效率:ls是列出当前目录下的文件列表,选项有-a、-l、-h,还可以使用通配符;c功能是跳转目录,可以使用相对路径和绝对路径;mkdir命令创建一个新的目录,有-p选项,rm删除文件或目录,有-f、-r选项;cp用于复制文件,有-i、-r选项,tree命令可以将目录结构显示出来(树状显示),有-d选项,mv用来移动文件/目录,有-i选项;cat查看文件内容,more分屏显示文件内容,grep搜索内容;>、>>将执行结果重定向到一个文件;|用于管道输出。
立即提问