VGG16和ResNet50的mAP问题

还没入门的新手,看了一些论文,都用resnet50和VGG16训练网络模型,然而结论不同,有的是VGG16精度高,有的是Resnet50精度高。自己做训练集,用两种网络去训练模型时结果显示VGG16精度更高,用的是Keras retinanet。按说resnet50网络更深,且解决了梯度爆炸的问题,为什么mAP不如VGG16?求大神告知。。。
并且,Keras retinanet和fast r-cnn、faster r-cnn或者YOLO2等检测网络是什么关系?。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
为什么用vgg16网络训练我自己的数据集,loss一直在1.7左右震荡,用训练好的模型进行预测出来的都是一个值?

最近用vgg16网络训练自己的数据集,最开始的学习率设为了1e-3,发现loss到了1.7左右就不再降了,然后我调小学习率,调到了1e-5,loss到了1.7还是不降,一直在1.7左右震荡,训练了很多个epoch还是不变,于是我想测试看看,发现测试出来的图片分类结果都是一个值,请问有大佬知道这是为什么吗?

用keras 实现的resnet,但是训练下来过拟合严重,请问怎么加入正则化?

## 代码如下,想知道在哪里可以加入正则化?或者如何优化?感谢!!!! ![图片说明](https://img-ask.csdn.net/upload/201901/02/1546415601_34467.jpg)

vgg16 fine-tune keras

哪位可以分享一下keras vgg16 fine-tune程序代码 程序能够正常运行,qq:1246365615

请问VGG16的16层是指什么啊?卷积层的数量吗?

今天老师讲到这个概念但是实在不理解那16层是哪16层 orz 大佬们能不能指点一下下 编辑:看了下网上的结构图,有13层卷积层,是不是加上剩下的3层全连接层组成16层呢? ![图片说明](https://img-ask.csdn.net/upload/201911/08/1573198786_648032.png)

如何将pytorch的VGG16改为CNN+ELM?

如何将pytorch的VGG16改为CNN+ELM,求解答,最好有代码。

关于resnet-18训练CIFAR10的问题

请教一下,我自己写了个resnet,18层跑的结果也只有72%,换成34层了之后,测试集却只有63%了 我拿我自己的4层的简单的CNN都能跑出来75的效果,有什么可以提高的方法吗?那些高准确率,实际上是不是做过数据增强了的啊

keras yolov3 tiny_yolo_body网络结构改为vgg16结构

将keras框架yolov3 tiny_yolo_body网络结构改为vgg16网络结构,程序能够运行 loss正常下降即可。

keras中使用预训练的VGG19网络能否处理单通道的灰度图?

在SRGAN当中,如果要对单通道的灰度图进行训练可以将输入层的尺寸改为(: ,: ,1),但是此时网络中使用的VGG19的 输入仍然为RGB三通道的图像,因此会报错。 VGG网络能否用于SRGAN对灰度图像的训练中?如果可以因当如何修改? 使用VGG19的代码如下: ``` def build_vgg(self): ``` vgg=VGG19(weights='imagenet') vgg.outputs = [vgg.layers[9].output] img = Input(shape=self.hr_shape) img_features = vgg(img) return Model(img, img_features)

vgg16计算反向传播时,无法读取全连接层

# fc3 with tf.name_scope('fc3') as scope: fc3w = tf.Variable(tf.truncated_normal([4096, 1000], dtype=tf.float32, stddev=1e-1), name='weights') fc3b = tf.Variable(tf.constant(1.0, shape=[1000], dtype=tf.float32), trainable=True, name='biases') self.fc3l = tf.nn.bias_add(tf.matmul(self.fc2, fc3w), fc3b) self.layers[scope[:-1]] = self.fc3l self.parameters += [fc3w, fc3b] --------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-30-30311ef54bda> in <module> 10 11 # 反向梯度计算 ---> 12 signal = tf.multiply(vgg_load.layers['fc3'], one_hot) 13 loss = tf.reduce_mean(signal) 14 grads = tf.gradients(loss, conv_layer)[0] KeyError: 'fc3'

请大神指点,VGG-16训练时权重不更新,怎么回事??

用tensorflow训练VGG-16时,权重不发生变化是怎么回事?? ``` import tensorflow as tf import scipy.io as sio #import numpy as np import matplotlib.image as mpimg import pickle as cp a = list(sio.loadmat('dataset/corel5k_train_annot.mat')['annot1']) b = list(sio.loadmat('dataset/corel5k_test_annot.mat')['annot2']) def get_batch(image, label, batch_size, now_batch, total_batch): if now_batch < total_batch-1: image_batch = image[now_batch*batch_size:(now_batch+1)*batch_size] label_batch = label[now_batch*batch_size:(now_batch+1)*batch_size] else: image_batch = image[now_batch*batch_size:] label_batch = label[now_batch*batch_size:] #image_batch = tf.reshape(image_batch,[-1,128,128,3]) return image_batch,label_batch train_img = [] with open('image/corel5k_train_list.txt') as f: for i in f.readlines(): train_img += [mpimg.imread('image/%s.jpg'%i.strip())] cp.dump(train_img,open("train.pkl","wb")) test_img = [] with open('image/corel5k_test_list.txt') as f: for i in f.readlines(): test_img += [mpimg.imread('image/%s.jpg'%i.strip())] cp.dump(test_img,open("test.pkl","wb"))#一种保存列表的方式 x = tf.placeholder(tf.float32,[None,128,128,3]) y_ = tf.placeholder(tf.float32, shape=[None, 260]) #loss=tf.Variable(tf.constant(0.0)) #第一 W1 = tf.Variable(tf.truncated_normal([3, 3, 3, 64], mean=0.0,stddev=1.0)) b1 = tf.Variable(tf.constant(0.0, shape=[64])) h1 = tf.nn.relu(tf.nn.conv2d(x, W1, strides=[1, 1, 1, 1], padding='SAME') + b1) #p1 = tf.nn.max_pool(h1, ksize=[1, 2, 2, 1],strides=[1, 2, 2, 1], padding='SAME') W2 = tf.Variable(tf.truncated_normal([3, 3, 64, 64], mean=0.0,stddev=1.0)) b2 = tf.Variable(tf.constant(0.0, shape=[64])) h2 = tf.nn.relu(tf.nn.conv2d(h1, W2, strides=[1, 1, 1, 1], padding='SAME') + b2) p2 = tf.nn.max_pool(h2, ksize=[1, 2, 2, 1],strides=[1, 2, 2, 1], padding='SAME') #第二 W3 = tf.Variable(tf.truncated_normal([3, 3, 64, 128], mean=0.0,stddev=1.0)) b3 = tf.Variable(tf.constant(0.0, shape=[128])) h3 = tf.nn.relu(tf.nn.conv2d(p2, W3, strides=[1, 1, 1, 1], padding='SAME') + b3) #p3 = tf.nn.max_pool(h2, ksize=[1, 2, 2, 1],strides=[1, 2, 2, 1], padding='SAME') W4 = tf.Variable(tf.truncated_normal([3, 3, 128, 128], mean=0.0,stddev=1.0)) b4 = tf.Variable(tf.constant(0.0, shape=[128])) h4 = tf.nn.relu(tf.nn.conv2d(h3, W4, strides=[1, 1, 1, 1], padding='SAME') + b4) p4 = tf.nn.max_pool(h4, ksize=[1, 2, 2, 1],strides=[1, 2, 2, 1], padding='SAME') #第三 W5 = tf.Variable(tf.truncated_normal([3, 3, 128, 256], mean=0.0,stddev=1.0)) b5 = tf.Variable(tf.constant(0.0, shape=[256])) h5 = tf.nn.relu(tf.nn.conv2d(p4, W5, strides=[1, 1, 1, 1], padding='SAME') + b5) W6 = tf.Variable(tf.truncated_normal([3, 3, 256, 256], mean=0.0,stddev=1.0)) b6 = tf.Variable(tf.constant(0.0, shape=[256])) h6 = tf.nn.relu(tf.nn.conv2d(h5, W6, strides=[1, 1, 1, 1], padding='SAME') + b6) W7 = tf.Variable(tf.truncated_normal([3, 3, 256, 256], mean=0.0,stddev=1.0)) b7 = tf.Variable(tf.constant(0.0, shape=[256])) h7 = tf.nn.relu(tf.nn.conv2d(h6, W7, strides=[1, 1, 1, 1], padding='SAME') + b7) p7 = tf.nn.max_pool(h7, ksize=[1, 2, 2, 1],strides=[1, 2, 2, 1], padding='SAME') #第四 W8 = tf.Variable(tf.truncated_normal([3, 3, 256, 512], mean=0.0,stddev=1.0)) b8 = tf.Variable(tf.constant(0.0, shape=[512])) h8 = tf.nn.relu(tf.nn.conv2d(p7, W8, strides=[1, 1, 1, 1], padding='SAME') + b8) W9 = tf.Variable(tf.truncated_normal([3, 3, 512, 512], mean=0.0,stddev=1.0)) b9 = tf.Variable(tf.constant(0.0, shape=[512])) h9 = tf.nn.relu(tf.nn.conv2d(h8, W9, strides=[1, 1, 1, 1], padding='SAME') + b9) W10 = tf.Variable(tf.truncated_normal([3, 3, 512, 512], mean=0.0,stddev=1.0)) b10 = tf.Variable(tf.constant(0.0, shape=[512])) h10 = tf.nn.relu(tf.nn.conv2d(h9, W10, strides=[1, 1, 1, 1], padding='SAME') + b10) p10 = tf.nn.max_pool(h10, ksize=[1, 2, 2, 1],strides=[1, 2, 2, 1], padding='SAME') #第五 W11 = tf.Variable(tf.truncated_normal([3, 3, 512, 512], mean=0.0,stddev=1.0)) b11 = tf.Variable(tf.constant(0.0, shape=[512])) h11 = tf.nn.relu(tf.nn.conv2d(p10, W11, strides=[1, 1, 1, 1], padding='SAME') + b11) W12 = tf.Variable(tf.truncated_normal([3, 3, 512, 512], mean=0.0,stddev=1.0)) b12 = tf.Variable(tf.constant(0.0, shape=[512])) h12 = tf.nn.relu(tf.nn.conv2d(h11, W12, strides=[1, 1, 1, 1], padding='SAME') + b12) W13 = tf.Variable(tf.truncated_normal([3, 3, 512, 512], mean=0.0,stddev=1.0)) b13 = tf.Variable(tf.constant(0.0, shape=[512])) h13 = tf.nn.relu(tf.nn.conv2d(h12, W13, strides=[1, 1, 1, 1], padding='SAME') + b13) p13 = tf.nn.max_pool(h13, ksize=[1, 2, 2, 1],strides=[1, 2, 2, 1], padding='SAME') W_fc1 = tf.Variable(tf.truncated_normal([4*4*512, 4096], mean=0.0,stddev=1.0)) b_fc1 = tf.Variable(tf.constant(0.0, shape=[4096])) h_pool2_flat = tf.reshape(p13, [-1, 4*4*512]) h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc1) + b_fc1) keep_prob1 = tf.placeholder(tf.float32) h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob1) W_fc2 = tf.Variable(tf.truncated_normal([4096, 4096], mean=0.0,stddev=1.0)) b_fc2 = tf.Variable(tf.constant(0.0, shape=[4096])) h_fc2 = tf.nn.relu(tf.matmul(h_fc1_drop, W_fc2) + b_fc2) keep_prob2 = tf.placeholder(tf.float32) h_fc2_drop = tf.nn.dropout(h_fc2, keep_prob2) W_fc3 = tf.Variable(tf.truncated_normal([4096, 260], mean=0.0,stddev=1.0)) b_fc3 = tf.Variable(tf.constant(0.0, shape=[260])) y_conv=tf.nn.softmax(tf.matmul(h_fc2_drop, W_fc3) + b_fc3) loss = tf.reduce_mean(-tf.reduce_sum(y_*tf.log(y_conv + 1e-10), reduction_indices=[1])) train_step = tf.train.AdamOptimizer(0.1).minimize(loss) with tf.Session() as sess: sess.run(tf.global_variables_initializer()) for v in range(100): for r in range(90): image_batch,label_batch = get_batch(train_img,a,50,r,90) sess.run(train_step,feed_dict={x:image_batch,y_:label_batch,keep_prob1: 0.5,keep_prob2: 0.5}) print(sess.run(W_fc3)) print("*") test_batch,testlabel_batch = get_batch(test_img,b,50,0,2) print(sess.run(loss,feed_dict={x:test_batch,y_:testlabel_batch,keep_prob1: 1,keep_prob2: 1})) ```

深度学习VGG模型加载硬件条件

初学深度学习,想用VGG模型做些案例,自己的笔记本显卡1060 6G,跑代码时候会出 错,查了下有说显卡内存不够的,想问下大佬们用类似VGG这些模型时候,设备都是什 么样的,1060 能跑动VGG 模型吗? 万分感谢~

VGG提取特征出现这个问题could not broadcast input array from shape (10,4,4,512) into shape (9,4,4,512)

使用Keras上的VGG16模型提取特征分类图像时,出现could not broadcast input array from shape (10,4,4,512) into shape (9,4,4,512)这个问题,有大佬知道怎么解决吗代码和问题如下: ![图片说明](https://img-ask.csdn.net/upload/202004/14/1586833594_654974.png) ![图片说明](https://img-ask.csdn.net/upload/202004/14/1586833611_540422.png)

利用caffe训练VGG网络出现错误

用ICDAR2017 RRC-MLT的数据集,首先将数据集转换成LMDB格式,之后送入VGG进行训练。 但报出如下的错误 ![通道数不正确](https://img-ask.csdn.net/upload/201803/17/1521260967_624531.jpg) 请问各位这是什么原因呢?通道数为什么会出现0的情况,谢谢大家!

迁移学习中进行医学影像分析,训练神经网络后accuracy保持不变。。。

使用的是vgg16的finetune网络,网络权重从keras中导入的,最上层有三层的一个小训练器的权重是由训练习得的。训练集大约300个样本,验证集大约80个样本,但程序运行后,第一二个epoch之间loss、acc还有变化,之后就不再变化,而且验证集的准确度一直接近于零。。想请有关卷积神经网络和机器学习方面的大神帮忙看一下是哪里出了问题 import keras from keras.models import Sequential from keras.layers import Dense,Dropout,Activation,Flatten from keras.layers import GlobalAveragePooling2D import numpy as np from keras.optimizers import RMSprop from keras.utils import np_utils import matplotlib.pyplot as plt from keras import regularizers from keras.applications.vgg16 import VGG16 from keras import optimizers from keras.layers.core import Lambda from keras import backend as K from keras.models import Model #写一个LossHistory类(回调函数),保存loss和acc,在keras下画图 class LossHistory(keras.callbacks.Callback): def on_train_begin(self, logs={}):#在每个batch的开始处(on_batch_begin):logs包含size,即当前batch的样本数 self.losses = {'batch':[], 'epoch':[]} self.accuracy = {'batch':[], 'epoch':[]} self.val_loss = {'batch':[], 'epoch':[]} self.val_acc = {'batch':[], 'epoch':[]} def on_batch_end(self, batch, logs={}): self.losses['batch'].append(logs.get('loss')) self.accuracy['batch'].append(logs.get('acc')) self.val_loss['batch'].append(logs.get('val_loss')) self.val_acc['batch'].append(logs.get('val_acc')) def on_epoch_end(self, batch, logs={}):#每迭代完一次从log中取得数据 self.losses['epoch'].append(logs.get('loss')) self.accuracy['epoch'].append(logs.get('acc')) self.val_loss['epoch'].append(logs.get('val_loss')) self.val_acc['epoch'].append(logs.get('val_acc')) def loss_plot(self, loss_type): iters = range(len(self.losses[loss_type])) #绘图的横坐标? plt.figure() #建立一个空的画布 if loss_type == 'epoch': plt.subplot(211) plt.plot(iters,self.accuracy[loss_type],'r',label='train acc') plt.plot(iters,self.val_acc[loss_type],'b',label='val acc') # val_acc用蓝色线表示 plt.grid(True) plt.xlabel(loss_type) plt.ylabel('accuracy') plt.show() plt.subplot(212) plt.plot(iters, self.losses[loss_type], 'r', label='train loss') # val_acc 用蓝色线表示 plt.plot(iters, self.val_loss[loss_type], 'b', label='val loss') # val_loss 用黑色线表示 plt.xlabel(loss_type) plt.ylabel('loss') plt.legend(loc="upper right") #把多个axs的图例放在一张图上,loc表示位置 plt.show() print(np.mean(self.val_acc[loss_type])) print(np.std(self.val_acc[loss_type])) seed = 7 np.random.seed(seed) #训练网络的几个参数 batch_size=32 num_classes=2 epochs=100 weight_decay=0.0005 learn_rate=0.0001 #读入训练、测试数据,改变大小,显示基本信息 X_train=np.load(open('/image_BRATS_240_240_3_normal.npy',mode='rb')) Y_train=np.load(open('/label_BRATS_240_240_3_normal.npy',mode='rb')) Y_train = keras.utils.to_categorical(Y_train, 2) #搭建神经网络 model_vgg16=VGG16(include_top=False,weights='imagenet',input_shape=(240,240,3),classes=2) model_vgg16.layers.pop() model=Sequential() model.add(model_vgg16) model.add(Flatten(input_shape=X_train.shape[1:])) model.add(Dense(436,activation='relu')) #return x*10的向量 model.add(Dense(2,activation='softmax')) #model(inputs=model_vgg16.input,outputs=predictions) for layer in model_vgg16.layers[:13]: layer.trainable=False model_vgg16.summary() model.compile(optimizer=RMSprop(lr=learn_rate,decay=weight_decay), loss='categorical_crossentropy', metrics=['accuracy']) model.summary() history=LossHistory() model.fit(X_train,Y_train, batch_size=batch_size,epochs=epochs, verbose=1, shuffle=True, validation_split=0.2, callbacks=[history]) #模型评估 history.loss_plot('epoch') 比如: ![实验运行结果:](https://img-ask.csdn.net/upload/201804/19/1524134477_869793.png)

为什么训练一个简单的残差网络时,loss并不低,但是acc还可以

使用一个20层左右的一维卷积神经网络来对一组机械振动数据分类, loss训练过50epochs还是0.9,但正确率90%出头,在测试集上也差不多 请问一下是为什么

用自己写的类似于vgg的网络进行训练后, 不管输入什么图片输出关键点位置都一样

训练时loss有在下降,也不像是过拟合,感觉像是weight变成0了。![图片说明](https://img-ask.csdn.net/upload/201808/06/1533532135_97749.png)![图片说明](https://img-ask.csdn.net/upload/201808/06/1533532155_571097.png)![图片说明](https://img-ask.csdn.net/upload/201808/06/1533532165_547485.png)

tensorflow训练过程权重不更新,loss不下降,输出保持不变,只有bias在非常缓慢地变化?

模型里没有参数被初始化为0 ,学习率从10的-5次方试到了0.1,输入数据都已经被归一化为了0-1之间,模型是改过的vgg16,有四个输出,使用了vgg16的预训练模型来初始化参数,输出中间结果也没有nan或者inf值。是不是不能自定义损失函数呢?但输出中间梯度发现并不是0,非常奇怪。 **train.py的部分代码** ``` def train(): x = tf.placeholder(tf.float32, [None, 182, 182, 2], name = 'image_input') y_ = tf.placeholder(tf.float32, [None, 8], name='label_input') global_step = tf.Variable(0, trainable=False) learning_rate = tf.train.exponential_decay(learning_rate=0.0001,decay_rate=0.9, global_step=TRAINING_STEPS, decay_steps=50,staircase=True) # 读取图片数据,pos是标签为1的图,neg是标签为0的图 pos, neg = get_data.get_image(img_path) #输入标签固定,输入数据每个batch前4张放pos,后4张放neg label_batch = np.reshape(np.array([1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0]),[1, 8]) vgg = vgg16.Vgg16() vgg.build(x) #loss函数的定义在后面 loss = vgg.side_loss( y_,vgg.output1, vgg.output2, vgg.output3, vgg.output4) train_step = tf.train.AdamOptimizer(learning_rate).minimize(loss, global_step=global_step) init_op = tf.global_variables_initializer() saver = tf.train.Saver() with tf.device('/gpu:0'): with tf.Session() as sess: sess.run(init_op) for i in range(TRAINING_STEPS): #在train.py的其他部分定义了batch_size= 4 start = i * batch_size end = start + batch_size #制作输入数据,前4个是标签为1的图,后4个是标签为0的图 image_list = [] image_list.append(pos[start:end]) image_list.append(neg[start:end]) image_batch = np.reshape(np.array(image_list),[-1,182,182,2]) _,loss_val,step = sess.run([train_step,loss,global_step], feed_dict={x: image_batch,y_:label_batch}) if i % 50 == 0: print("the step is %d,loss is %f" % (step, loss_val)) if loss_val < min_loss: min_loss = loss_val saver.save(sess, 'ckpt/vgg.ckpt', global_step=2000) ``` **Loss 函数的定义** ``` **loss函数的定义(写在了Vgg16类里)** ``` class Vgg16: #a,b,c,d都是vgg模型里的输出,是多输出模型 def side_loss(self,yi,a,b,c,d): self.loss1 = self.f_indicator(yi, a) self.loss2 = self.f_indicator(yi, b) self.loss3 = self.f_indicator(yi, c) self.loss_fuse = self.f_indicator(yi, d) self.loss_side = self.loss1 + self.loss2 + self.loss3 + self.loss_fuse res_loss = tf.reduce_sum(self.loss_side) return res_loss #损失函数的定义,标签为0时为log(1-yj),标签为1时为log(yj) def f_indicator(self,yi,yj): b = tf.where(yj>=1,yj*50,tf.abs(tf.log(tf.abs(1 - yj)))) res=tf.where(tf.equal(yi , 0.0), b,tf.abs(tf.log(tf.clip_by_value(yj, 1e-8, float("inf"))))) return res ```

求助大神们,这个损失函数怎么表达啊!!!!

用16—vgg提取完特征后,batchsize=50,求损失函数用tensorflow怎么写,损失函数如下: ![图片说明](https://img-ask.csdn.net/upload/201811/05/1541410862_39056.png)

导入npy预训练文件出现No gradients provided for any variable

Traceback (most recent call last): File "/data2/test/cxj/fcn_vgg16/test_fcn16_vgg.py", line 134, in <module> loss, optimizer, fcn_prob,fcn_pred,fcn_pred_up,lr = train_net(vgg_fcn=fcn, input_tensor=images, out_tensor=true_out) File "/data2/test/cxj/fcn_vgg16/test_fcn16_vgg.py", line 72, in train_net apply_gradient_op = optimizer.apply_gradients(grads) File "/home/test/anaconda3/envs/mask_rcnn/lib/python3.4/site-packages/tensorflow/python/training/optimizer.py", line 591, in apply_gradients ([str(v) for _, v, _ in converted_grads_and_vars],)) ValueError: No gradients provided for any variable: ["<tf.Variable 'upscore2/up_filter:0' shape=(4, 4, 2, 2) dtype=float32_ref>", "<tf.Variable 'upscore32/up_filter:0' shape=(32, 32, 2, 2) dtype=float32_ref>"]. 在线等,求指教!!!!

程序员的兼职技能课

获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:csdn590)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!

Windows版YOLOv4目标检测实战:训练自己的数据集

课程演示环境:Windows10; cuda 10.2; cudnn7.6.5; Python3.7; VisualStudio2019; OpenCV3.4 需要学习ubuntu系统上YOLOv4的同学请前往:《YOLOv4目标检测实战:训练自己的数据集》 课程链接:https://edu.csdn.net/course/detail/28745 YOLOv4来了!速度和精度双提升! 与 YOLOv3 相比,新版本的 AP (精度)和 FPS (每秒帧率)分别提高了 10% 和 12%。 YOLO系列是基于深度学习的端到端实时目标检测方法。本课程将手把手地教大家使用labelImg标注和使用YOLOv4训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv4使用AlexyAB/darknet,在Windows系统上做项目演示。包括:安装软件环境、安装YOLOv4、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算)和先验框聚类分析。还将介绍改善YOLOv4目标检测性能的技巧。 除本课程《Windows版YOLOv4目标检测实战:训练自己的数据集》外,本人将推出有关YOLOv4目标检测的系列课程。请持续关注该系列的其它视频课程,包括: 《Windows版YOLOv4目标检测实战:人脸口罩佩戴检测》 《Windows版YOLOv4目标检测实战:中国交通标志识别》 《Windows版YOLOv4目标检测:原理与源码解析》

lena全身原图(非256*256版本,而是全身原图)

lena全身原图(非256*256版本,而是全身原图) lena原图很有意思,我们通常所用的256*256图片是在lena原图上截取了头部部分的256*256正方形得到的. 原图是花花公子杂志上的一个

快速入门Android开发 视频 教程 android studio

这是一门快速入门Android开发课程,顾名思义是让大家能快速入门Android开发。 学完能让你学会如下知识点: Android的发展历程 搭建Java开发环境 搭建Android开发环境 Android Studio基础使用方法 Android Studio创建项目 项目运行到模拟器 项目运行到真实手机 Android中常用控件 排查开发中的错误 Android中请求网络 常用Android开发命令 快速入门Gradle构建系统 项目实战:看美图 常用Android Studio使用技巧 项目签名打包 如何上架市场

Java调用微信支付

Java 使用微信支付 一. 准备工作 1.

汽车租赁管理系统需求分析规格说明书

汽车租赁管理系统需求分析规格说明书,这只是一个模板,如果有不会的可以借鉴一下,还是蛮详细的。。。。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

程序员的算法通关课:知己知彼(第一季)

【超实用课程内容】 程序员对于算法一直又爱又恨!特别是在求职面试时,算法类问题绝对是不可逃避的提问点!本门课程作为算法面试系列的第一季,会从“知己知彼”的角度,聊聊关于算法面试的那些事~ 【哪些人适合学习这门课程?】 求职中的开发者,对于面试算法阶段缺少经验 想了解实际工作中算法相关知识 在职程序员,算法基础薄弱,急需充电 【超人气讲师】 孙秀洋&nbsp;| 服务器端工程师 硕士毕业于哈工大计算机科学与技术专业,ACM亚洲区赛铜奖获得者,先后在腾讯和百度从事一线技术研发,对算法和后端技术有深刻见解。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27272 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程无限观看时长,但是大家可以抓紧时间学习后一起讨论哦~

机器学习初学者必会的案例精讲

通过六个实际的编码项目,带领同学入门人工智能。这些项目涉及机器学习(回归,分类,聚类),深度学习(神经网络),底层数学算法,Weka数据挖掘,利用Git开源项目实战等。

Python入门视频精讲

Python入门视频培训课程以通俗易懂的方式讲解Python核心技术,Python基础,Python入门。适合初学者的教程,让你少走弯路! 课程内容包括:1.Python简介和安装 、2.第一个Python程序、PyCharm的使用 、3.Python基础、4.函数、5.高级特性、6.面向对象、7.模块、8.异常处理和IO操作、9.访问数据库MySQL。教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

Java62数据提取代码

利用苹果手机微信下面的wx.data文件提取出62数据,通过62可以实现不同设备直接登陆,可以通过文件流的方式用脚本上传到服务器进行解析

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

2018年全国大学生计算机技能应用大赛决赛 大题

2018年全国大学生计算机技能应用大赛决赛大题,程序填空和程序设计(侵删)

Lena图像处理测试专业用图,高清完整全身原图

Lena图像处理测试专业用图,高清完整全身原图,该图片很好的包含了平坦区域、阴影和纹理等细节,这些都有益于测试各种不同的图像处理算法。它是一幅很好的测试照片!其次,由于这是一个非常有魅力女人的照片。

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

verilog实现地铁系统售票

使用 verilog 实现地铁售票

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉系统全面的介绍。

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

获取Linux下Ftp目录树并逐步绑定到treeview

在linux下抓取目录树,双击后获取该节点子节点(逐步生成)。另外有两个类,一个是windows下的(一次性获取目录树),一个是linux下的(足部获取目录树)

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

手把手实现Java图书管理系统(附源码)

【超实用课程内容】 本课程演示的是一套基于Java的SSM框架实现的图书管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的java人群。详细介绍了图书管理系统的实现,包括:环境搭建、系统业务、技术实现、项目运行、功能演示、系统扩展等,以通俗易懂的方式,手把手的带你从零开始运行本套图书管理系统,该项目附带全部源码可作为毕设使用。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27513 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程2年有效观看时长,大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化

微信小程序开发实战之番茄时钟开发

微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

Java 最常见的 200+ 面试题:面试必备

这份面试清单是从我 2015 年做了 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有那些知识点是我不知道的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。虽然我是从 2009 年就开始参加编程工作了,但我依旧觉得自己现在要学的东西很多,并且学习这些知识,让我很有成就感和满足感,那所以何乐而不为呢? 说回面试的事,这份面试...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

微信小程序 实例汇总 完整项目源代码

微信小程序 实例汇总 完整项目源代码

基于西门子S7—1200的单部六层电梯设计程序,1部6层电梯

基于西门子S7—1200的单部六层电梯设计程序,1部6层电梯。 本系统控制六层电梯, 采用集选控制方式。 为了完成设定的控制任务, 主要根据电梯输入/输出点数确定PLC 的机型。 根据电梯控制的要求,

相关热词 c#分级显示数据 c# 不区分大小写替换 c#中调用就java c#正则表达式 验证小数 c# vscode 配置 c#三维数组能存多少数据 c# 新建excel c#多个文本框 c#怎么创建tcp通讯 c# mvc 电子病例
立即提问