如何在tensorflow计算中使显卡满载 5C

环境:python 3.6、win10、tensorflow1.8
硬件:GTX1080Ti、E5-2680V2
问题:显卡计算不满载 计算速度慢
截图见下

好吧 截图上传不了 就是GPU总占用率10%不到 compute_0占用不到15%

3个回答

windows 10的任务管理器的gpu显示有bug,表现为compute不高,但是内存复制很高,这个问题有国外论坛讨论过,如果你的程序跑得正常,其实是满载的。
提高Batch Size或许可以提高所谓的“满载”,但是会降低每个epoch的学习进度,让gpu傻忙,结果是训练时间并没有进步,甚至会出现梯度消失。
在实践中,我建议你首先从改进模型入手。

weixin_40455863
戈好雨 好的,谢谢,受教了。
一年多之前 回复

楼主的e5-2680 v2跑深度学习算法的时候出现过问题(指令集不全之类的?)吗,小白在配机子,纠结装i5 9400f还是2680v2

一。cuda_visible_devices 设置可见gpu,但是会将整个gpu占满,Gpu的实际使用率很低。使用tf.configproto.gpu_optional.allow_growth属性设为True时就可以文明使用gpu。
数据读取满,影响计算速度。
二。显卡使用率有规律的上下波动是正常的,因为要读取数据,不同layer显卡开销也不一样。如果总体上,显卡占用率越来越低,则可能是内存占满了,需要清理缓存。
1. 提高 Batch Size(直到显存爆掉);
2. 减少层数;
3. 提高单层计算量(如增大 channels、kernel_size,减小 stride、group);
4. 使用 cuDNN;
5. 如果只是前向计算,可以用 TensorRT;
建议楼主试试。

weixin_40455863
戈好雨 同学你好,请问怎么提高数据读取效率来加快计算。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
win10安装gpu版tensorflow用不了gpu是怎么回事?

按照教程把环境都已配置好,包括cuda等,一切正常,只有在启用GPU的时候每次都 用不了说是忽视了我的GPU,计算能力是2.1,而GPU支持要求最低计算能力是3.0,但 是我在官网上查的我的GPU是3.0的计算能力啊,哪位大神能告诉我怎么办?如何设置可 以使用我的gpu?详情如图。![图片说明](https://img-ask.csdn.net/upload/201703/26/1490526881_106574.png)![图片说明](https://img-ask.csdn.net/upload/201703/26/1490526891_610481.png)

安装了tensorflow gpu 和cuda、cudnn 但是在训练模型的时候 gpu只占用10% cpu还是100%占用呢?

![图片说明](https://img-ask.csdn.net/upload/202005/25/1590386540_373528.png) 之前我电脑安装的是cpu版 然后卸载了 重新安装gpu版本 然后接着训练模型,速度上确实快了 但是任务管理器中显示cpu还是满载 GPU的占用只有10% 请问这是什么原因呢

Parallel并行计算,计算内包含大量linq操作?

netcore数据库提取10万数据,每一条数据需要进行计算,在windows执行需要10分钟,4核cpu都能跑到 100%,但在Liunx(4核cpu,cpu利用率不到200%)服务器运行同样的代码,却需要1小时。代码:List.AsParallel() --并行执行集合内数据 ``` lessons.Keys.WithProgress(context.WriteProgressBar()).AsParallel(). WithDegreeOfParallelism(6).ForAll(group_key => { calamount(group_key); }); ```

轮船调度问题求大佬解答

游轮满载是150人,安排游船载客游览时间是1.5小时/次,票价为25元/人/次。 另外轮船公司规定:游轮不需要满载即可起航,但启航时游轮的载客量至少要达到满载的60%以上。 根据统计,游客主要在上午8点到下午6点来参观游览,且在早8点到晚6点时间段内,游客以平均每分钟3人的速度到达码头,尽可能使得船次少且每艘船人数均衡,求解答下列问题 1. 如果轮船公司只有1艘游轮,问该轮船如何安排航程?一天总载客量是多少? 2. 若轮船公司有多艘轮船,问轮船公司最少需使用几艘游轮?分别如何安排航程?每艘船载客量是多少? 3. 针对实际中出现的游客愿意等待游船返回的情形,假设游客到达港口最多等待10分钟,若10分钟游轮未到,则自动离开。请在该假设下重新考虑问题1和问题2。

magento的满载产品

<div class="post-text" itemprop="text"> <p>On product list/grid magento already has collection of products, and get from it products using foreach.</p> <pre><code>$_productCollection=$this-&gt;getLoadedProductCollection(); ... foreach ($_productCollection as $_product): </code></pre> <p>But these products don't have all necessary properties. I'm not sure, but i thing they have no inventory data. But i need some elements of _data array. I know only one way how to do that:</p> <pre><code>$_product = Mage::getModel('catalog/product')-&gt;load($_product-&gt;getId()); </code></pre> <p>Is there any another way, how to reload product properties?</p> </div>

两江游轮调度的问题 数学建模

游轮满载是150人,安排游船载客游览时间是1.5小时/次,票价为25元/人/次。 另外轮船公司规定:游轮不需要满载即可起航,但启航时游轮的载客量至少要达到满载的60%以上。 根据统计,游客主要在上午8点到下午6点来参观游览,且在早8点到晚6点时间段内,游客以平均每分钟3人的速度到达码头,尽可能使得船次少且每艘船人数均衡,求解答下列问题 1. 如果轮船公司只有1艘游轮,问该轮船如何安排航程?一天总载客量是多少? 2. 若轮船公司有多艘轮船,问轮船公司最少需使用几艘游轮?分别如何安排航程?每艘船载客量是多少? 3. 针对实际中出现的游客愿意等待游船返回的情形,假设游客到达港口最多等待10分钟,若10分钟游轮未到,则自动离开。请在该假设下重新考虑问题1和问题2。

Springboot jbdc执行sql语句造成数据库连接满载,请问这是什么原因?

![图片说明](https://img-ask.csdn.net/upload/201912/13/1576222174_846277.png) ![图片说明](https://img-ask.csdn.net/upload/201912/13/1576222203_480420.png) ![图片说明](https://img-ask.csdn.net/upload/201912/13/1576222492_949035.png) # ** # 想请教各位道友一个问题,jbdc不是自动关闭连接吗,我什么我用这个执行sql语句,会造成数据库连接已满,导致mysql管理都打不开**

Redshift 渲染器渲染时只占用CPU

redshift渲染时GPU都没有用到怎么解决???????????????????????????????????????

多核CPU的核指的是什么,多核CPU比单核CPU多了什么?

如题,我想问的是 1.多核处理器的“核”指的是什么,有什么部件组成,是ALU? 2.多核处理器多处理器的区别是什么?

实现获取监控端CPU每个核的CPU

想要用vs2019软件编写控制台程序,方式用C++语言,我计算出整个CPU的使用率,那么如果要求计算CPU中每个核的使用率应该怎么做

php+nginx 24核的服务器cpu使用总是前几个核使用很高,其他没有使用

php+nginx 24核的服务器cpu使用总是前几个核使用很高,其他没有使用

深度学习图片识别循环停止?

最近在跑深度学习的inceptionV3的时候偶尔会遇到一问题,就是代码在运行到某个时间点时,就停止迭代运算,不知道为什么? ![图片说明](https://img-ask.csdn.net/upload/201811/11/1541904283_461011.png) 上面图是个例子,假设运行到291的step的时候停止了,不在继续运算,但是CPU和GPU是满载的。 下面是代码: ``` # coding=utf-8 import tensorflow as tf import numpy as np import pdb import os from datetime import datetime import slim.inception_model as inception_v3 from create_tf_record import * import tensorflow.contrib.slim as slim labels_nums = 7 # 类别个数 batch_size = 64 # resize_height = 299 # 指定SSS存储图片高度 resize_width = 299 # 指定存储图片宽度 depths = 3 data_shape = [batch_size, resize_height, resize_width, depths] # 定义input_images为图片数据 input_images = tf.placeholder(dtype=tf.float32, shape=[None, resize_height, resize_width, depths], name='input') # 定义input_labels为labels数据 # input_labels = tf.placeholder(dtype=tf.int32, shape=[None], name='label') input_labels = tf.placeholder(dtype=tf.int32, shape=[None, labels_nums], name='label') # 定义dropout的概率 keep_prob = tf.placeholder(tf.float32, name='keep_prob') is_training = tf.placeholder(tf.bool, name='is_training') #config = tf.ConfigProto() #config = tf.ConfigProto() #config.gpu_options.allow_growth = True #tf.Session(config = config) #tf.Session(config=tf.ConfigProto(allow_growth=True)) def net_evaluation(sess, loss, accuracy, val_images_batch, val_labels_batch, val_nums): val_max_steps = int(val_nums / batch_size) val_losses = [] val_accs = [] for _ in range(val_max_steps): val_x, val_y = sess.run([val_images_batch, val_labels_batch]) # print('labels:',val_y) # val_loss = sess.run(loss, feed_dict={x: val_x, y: val_y, keep_prob: 1.0}) # val_acc = sess.run(accuracy,feed_dict={x: val_x, y: val_y, keep_prob: 1.0}) val_loss, val_acc = sess.run([loss, accuracy], feed_dict={input_images: val_x, input_labels: val_y, keep_prob: 1.0, is_training: False}) val_losses.append(val_loss) val_accs.append(val_acc) mean_loss = np.array(val_losses, dtype=np.float32).mean() mean_acc = np.array(val_accs, dtype=np.float32).mean() return mean_loss, mean_acc def step_train(train_op, loss, accuracy, train_images_batch, train_labels_batch, train_nums, train_log_step, val_images_batch, val_labels_batch, val_nums, val_log_step, snapshot_prefix, snapshot): ''' 循环迭代训练过程 :param train_op: 训练op :param loss: loss函数 :param accuracy: 准确率函数 :param train_images_batch: 训练images数据 :param train_labels_batch: 训练labels数据 :param train_nums: 总训练数据 :param train_log_step: 训练log显示间隔 :param val_images_batch: 验证images数据 :param val_labels_batch: 验证labels数据 :param val_nums: 总验证数据 :param val_log_step: 验证log显示间隔 :param snapshot_prefix: 模型保存的路径 :param snapshot: 模型保存间隔 :return: None ''' # 初始化 #init = tf.global_variables_initializer() saver = tf.train.Saver() max_acc = 0.0 #ckpt = tf.train.get_checkpoint_state('D:/can_test/inception v3/') #saver = tf.train.import_meta_graph(ckpt.model_checkpoint_path + '.meta') #tf.reset_default_graph() with tf.Session() as sess: #sess.run(tf.global_variables_initializer())#恢复训练用 #saver = tf.train.import_meta_graph('D://can_test/inception v3/best_models_2_0.7500.ckpt.meta')#恢复训练 #saver.restore(sess, tf.train.latest_checkpoint('D://can_test/inception v3/'))#恢复训练 sess.run(tf.global_variables_initializer()) sess.run(tf.local_variables_initializer()) coord = tf.train.Coordinator() threads = tf.train.start_queue_runners(sess=sess, coord=coord) for i in range(max_steps + 1): batch_input_images, batch_input_labels = sess.run([train_images_batch, train_labels_batch]) _, train_loss = sess.run([train_op, loss], feed_dict={input_images: batch_input_images, input_labels: batch_input_labels, keep_prob: 0.5, is_training: True}) # train测试(这里仅测试训练集的一个batch) if i % train_log_step == 0: train_acc = sess.run(accuracy, feed_dict={input_images: batch_input_images, input_labels: batch_input_labels, keep_prob: 1.0, is_training: False}) print( "%s: Step [%d] train Loss : %f, training accuracy : %g" % ( datetime.now(), i, train_loss, train_acc) ) # val测试(测试全部val数据) if i % val_log_step == 0: mean_loss, mean_acc = net_evaluation(sess, loss, accuracy, val_images_batch, val_labels_batch, val_nums) print( "%s: Step [%d] val Loss : %f, val accuracy : %g" % (datetime.now(), i, mean_loss, mean_acc) ) # 模型保存:每迭代snapshot次或者最后一次保存模型 if i == max_steps: print('-----save:{}-{}'.format(snapshot_prefix, i)) saver.save(sess, snapshot_prefix, global_step=i) # 保存val准确率最高的模型 if mean_acc > max_acc and mean_acc > 0.90: max_acc = mean_acc path = os.path.dirname(snapshot_prefix) best_models = os.path.join(path, 'best_models_{}_{:.4f}.ckpt'.format(i, max_acc)) print('------save:{}'.format(best_models)) saver.save(sess, best_models) coord.request_stop() coord.join(threads) def train(train_record_file, train_log_step, train_param, val_record_file, val_log_step, labels_nums, data_shape, snapshot, snapshot_prefix): ''' :param train_record_file: 训练的tfrecord文件 :param train_log_step: 显示训练过程log信息间隔 :param train_param: train参数 :param val_record_file: 验证的tfrecord文件 :param val_log_step: 显示验证过程log信息间隔 :param val_param: val参数 :param labels_nums: labels数 :param data_shape: 输入数据shape :param snapshot: 保存模型间隔 :param snapshot_prefix: 保存模型文件的前缀名 :return: ''' [base_lr, max_steps] = train_param [batch_size, resize_height, resize_width, depths] = data_shape # 获得训练和测试的样本数 train_nums = get_example_nums(train_record_file) val_nums = get_example_nums(val_record_file) print('train nums:%d,val nums:%d' % (train_nums, val_nums)) # 从record中读取图片和labels数据 # train数据,训练数据一般要求打乱顺序shuffle=True train_images, train_labels = read_records(train_record_file, resize_height, resize_width, type='normalization') train_images_batch, train_labels_batch = get_batch_images(train_images, train_labels, batch_size=batch_size, labels_nums=labels_nums, one_hot=True, shuffle=True) # val数据,验证数据可以不需要打乱数据 val_images, val_labels = read_records(val_record_file, resize_height, resize_width, type='normalization') val_images_batch, val_labels_batch = get_batch_images(val_images, val_labels, batch_size=batch_size, labels_nums=labels_nums, one_hot=True, shuffle=False) # Define the model: with slim.arg_scope(inception_v3.inception_v3_arg_scope()): out, end_points = inception_v3.inception_v3(inputs=input_images, num_classes=labels_nums, dropout_keep_prob=keep_prob, is_training=is_training) # Specify the loss function: tf.losses定义的loss函数都会自动添加到loss函数,不需要add_loss()了 tf.losses.softmax_cross_entropy(onehot_labels=input_labels, logits=out) # 添加交叉熵损失loss=1.6 # slim.losses.add_loss(my_loss) loss = tf.losses.get_total_loss(add_regularization_losses=True) # 添加正则化损失loss=2.2 accuracy = tf.reduce_mean(tf.cast(tf.equal(tf.argmax(out, 1), tf.argmax(input_labels, 1)), tf.float32)) # Specify the optimization scheme: optimizer = tf.train.GradientDescentOptimizer(learning_rate=base_lr) # global_step = tf.Variable(0, trainable=False) # learning_rate = tf.train.exponential_decay(0.05, global_step, 150, 0.9) # # optimizer = tf.train.MomentumOptimizer(learning_rate, 0.9) # # train_tensor = optimizer.minimize(loss, global_step) # train_op = slim.learning.create_train_op(loss, optimizer,global_step=global_step) # 在定义训练的时候, 注意到我们使用了`batch_norm`层时,需要更新每一层的`average`和`variance`参数, # 更新的过程不包含在正常的训练过程中, 需要我们去手动像下面这样更新 # 通过`tf.get_collection`获得所有需要更新的`op` update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) # 使用`tensorflow`的控制流, 先执行更新算子, 再执行训练 with tf.control_dependencies(update_ops): # create_train_op that ensures that when we evaluate it to get the loss, # the update_ops are done and the gradient updates are computed. # train_op = slim.learning.create_train_op(total_loss=loss,optimizer=optimizer) train_op = slim.learning.create_train_op(total_loss=loss, optimizer=optimizer) # 循环迭代过程 step_train(train_op, loss, accuracy, train_images_batch, train_labels_batch, train_nums, train_log_step, val_images_batch, val_labels_batch, val_nums, val_log_step, snapshot_prefix, snapshot) if __name__ == '__main__': train_record_file = '/home/lab/new_jeremie/train.tfrecords' val_record_file = '/home/lab/new_jeremie/val.tfrecords' #train_record_file = 'D://cancer_v2/data/cancer/train.tfrecords' #val_record_file = 'D://val.tfrecords' train_log_step = 1 base_lr = 0.01 # 学习率 max_steps = 100000 # 迭代次数 train_param = [base_lr, max_steps] val_log_step = 1 snapshot = 2000 # 保存文件间隔 snapshot_prefix = './v3model.ckpt' train(train_record_file=train_record_file, train_log_step=train_log_step, train_param=train_param, val_record_file=val_record_file, val_log_step=val_log_step, #val_log_step=val_log_step, labels_nums=labels_nums, data_shape=data_shape, snapshot=snapshot, snapshot_prefix=snapshot_prefix) ```

一台服务器跑同一个App的多个Docker Container,性能会怎样?

Container是用namespace 来做隔离的,那么问题来了 如果我在一台服务器上, 使用同一个应用的image (比如 WordPress)起了 n个 container, 那么这个服务器满载的时候性能 和 同样一台服务器只用一个 Container 处理时满载的性能有什么区别? 按照Container的说法,runtime overhead 很低,是不是这两个场景性能差不了太多 ? 求高手解答

Java RandomAccessFile的读取问题

代码如下: public static void main(String[] args) { //(十) 使用随机文件流类RandomAccessFile将一个文本文件倒置读出。 File file = new File("ma.dat"); try { RandomAccessFile raf = new RandomAccessFile(file,"r"); //??? int b=raf.read(); System.out.println(b); /*int b = raf.readByte(); System.out.println(b);*/ int c=raf.readByte(); System.out.println(c); int d=raf.readByte(); System.out.println((char)d); char ch = '建'; System.out.println(Integer.toBinaryString(ch)); //101111011111010 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } 然后ma.dat里的内容是: 建2ield&*@` 中文乱码 如何解决? 打印到控制台的结果是: 189 -88 2 101111011111010 为什么结果是189,-88???后面的2和101111011111010我懂。就是不懂前面二个结果?求大牛解答!感激不尽!

IOCP压力测试,出错处理,求解

IOCP压力测试 客户端并发1000个连接,发送数据给服务端,服务端接收到数据后,又把数据发回去客户端,客户端收到数据后又发回给服务端,就这样,大家的网卡都满载了,占用99% 一会就有很多Socket收到以下通知: GetQueuedCompletionStatus返回Flase lpNumberOfBytesTransferred=0 lpCompletionKey不为空 lpOverlapped不为空 WSAGetLastError=ERROR_NETNAME_DELETED 但WSAGetOverlappedResult返回True 这是个WSARecv操作 这种情况是正常的还是不正常? 这种情况要怎么做?是要做断开连接处理吗?

c语言 火车票管理系统 求解答

运行后不能添加,删除,修改,查询班次到文件 可是文件是已经建好有数据的,查询时只显示一条然后就非正常退出了,我怀疑是最后链表做的有问题函数read()可是就是找不到哪错了,希望有哪位朋友可以解答一下, #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> #include<windows.h> #include<conio.h> typedef struct Tickets { char num; char time[8]; char starts[8]; char ends[8]; char gotime[8]; int full; int sold; float price; struct Tickets *next; }Ticket,*train; train head,tickets; struct Information { char assis_acc[10]; char assis_pas[6]; }inf; char flag; char *invent="火车票管理系统vision:copy2013by7815组\n"; void Delay(int time); void load(); void admin_field(); void route_manage(); void Add(); void Delete(); void Modify(); void Check(); void Count_sale(); void save(); void Assistor_Fild(); void protect(); void M_information(); void sale(); void station(); void Number(); void book(); void t_return(); void printone(train p); char * systemtime(); void gotoxy(int x,int y); void renew(); train read(); /*****************主函数*********************/ int main(void) { head=(train)malloc(sizeof(Ticket)); head=read(); load(); /****************函数:延时********************/ void Delay(int time) { int i,j,k; for(i=time;i;i--) for(j=1000;j;j--) for(k=100;k;k--); } /****************函数:登陆********************/ void load() { char ch,admin_acc[6]="admin",admin_pas[6]="12345"; char acc[6],pas[6];FILE *fp; gotoxy(20,10); printf("账户:"); gotoxy(20,11); printf("密码:\n"); gotoxy(25,20); puts(invent); gotoxy(25,10); scanf("%s",acc); /**********账户判断************************/ if(!strcmp(acc,admin_acc)) flag='A'; else { if((fp=fopen("information","rb"))==NULL) {printf("文件打开出错");exit(0);} fread(&inf,sizeof(struct Information),1,fp); if(!strcmp(inf.assis_acc,acc))flag='S'; else { printf("账户不存在!");Delay(8000);system("cls"); load(); } fclose(fp); } /****************密码判断*****************/ ch=getch(); if(ch==9) { gotoxy(25,11); scanf("%s",pas); } switch(flag) { case 'A':{ while(strcmp(pas,admin_pas)>0||strcmp(pas,admin_pas)<0) {printf("密码错误,请重新登陆!!\n");Delay(8000);system("cls");load();} system("cls");admin_field();break; } case 'S':{ if((fp=fopen("information","rb"))==NULL) {printf("文件打开出错");exit(0);} fread(&inf,sizeof(struct Information),1,fp); while(strcmp(pas,inf.assis_pas)>0||strcmp(pas,inf.assis_pas)<0) {printf("密码错误,请重新登陆!!");Delay(8000);system("cls");load();} fclose(fp); system("cls");Assistor_Fild();break; } } } /****************函数:管理员菜单********************/ void admin_field() { char ch; gotoxy(14,2); puts("========================================"); gotoxy(20,3);puts("1->班次管理\n"); gotoxy(20,4);puts("2->浏览班次\n"); gotoxy(20,5);puts("3->销售统计\n"); gotoxy(20,6);puts("0->返 回\n"); gotoxy(14,7); puts("========================================"); gotoxy(25,20); puts(invent); gotoxy(14,8); printf("请选择功能:");getchar(); ch=getchar(); switch(ch) { case '1':system("cls");route_manage();break;//进入班次管理 case '2':system("cls");Check();break;//进入浏览班次 case '3':system("cls");Count_sale();break;//进入销售统计 case '0':system("cls");load();break;//进入登陆页面 } } /****************函数:班次管理主界面********************/ void route_manage() { char choice; gotoxy(14,2);puts("==================================="); gotoxy(20,3);puts("1->添加班次\n"); gotoxy(20,4);puts("2->删除班次\n"); gotoxy(20,5);puts("3->修改班次\n"); gotoxy(20,6);puts("4->查询班次\n"); gotoxy(20,7);puts("5->保 存\n"); gotoxy(20,8);puts("0->返 回\n"); gotoxy(14,9);puts("==================================="); gotoxy(25,20);puts(invent);gotoxy(14,10);printf("请选择功能:"); choice=getchar(); switch(choice) { case '1':system("cls");Add();break;//进入添加班次 case '2':system("cls");Delete();break;//进入删除班次 case '3':system("cls");Modify();break;//进入修改班次 case '4':system("cls");Check();break;//进入查询班次 case '5':system("cls");save();break;//保存修改内容 case '0':system("cls");admin_field();break;//退回到管理员主页面 default:system("cls");route_manage();break; } } /****************函数:班次管理:添加班次********************/ void Add() { train q;char ch='y';FILE *fp; fopen("train_information","ab"); while(ch=='y') { q=(train)malloc(sizeof(Ticket)); printf("请输入车次:");getchar(); scanf("%c",&q->num); printf("请输入发车时间(00:00):"); scanf("%s",q->time); printf("请输入始发站:"); scanf("%s",q->starts); printf("请输入终点站:"); scanf("%s",q->ends); printf("请输入全程时间(00:00):"); scanf("%s",q->gotime); printf("请输入满载量:"); scanf("%d",&q->full); printf("请初始化售票数为零:"); scanf("%d",&q->sold); printf("请输入票价:"); scanf("%f",&q->price); q->next=NULL; fp=fopen("train_information","ab"); fwrite(q,sizeof(struct Tickets),1,fp); printf("添加成功!"); free(q); printf("按任意键返回班次管理页面..."); getchar(); ch=getchar(); } system("cls");route_manage(); } /****************函数:班次管理:删除班次********************/ void Delete() { int num;train p,q; p=head;q=NULL; printf("请输入要删除的车次:");getchar(); scanf("%c",&num); while(p!=NULL) { if(p->num==num) { p->next=q->next;free(q); printf("删除成功");break; } else q=p;p=p->next; } printf("删除成功,任意键返回班次管理页面...");getchar(); getchar();system("cls");route_manage(); } /****************函数:班次管理:修改班次********************/ void Modify() { char num;train q; q=head; printf("请输入要修改的车次号:"); scanf("%c",&num); while(q!=NULL) if(q->num==num) { printone(q); printf("请输入新发车时间(00:00):"); scanf("%s",&q->time); printf("请输入新始发站:"); scanf("%s",q->starts); printf("请输入新终点站:"); scanf("%s",q->ends); printf("请输入新全程时间(00:00):"); scanf("%s",q->gotime); printf("请输入新满载量:"); scanf("%d",&q->full); printf("请重置售票数:"); scanf("%d",&q->sold); printf("请输入新票价:"); scanf("%f",&q->price); printf("修改成功"); } else printf("输入班次不存在"); printf("按任意键返回班次管理页面..."); getchar();system("cls");route_manage(); } /****************函数:班次管理:查询班次********************/ void Check() { char ch;train tr=head; FILE *fp;char *tim; printf("班次 发车时间 起点站 终点站 行车时间 额定载量 已售票数 票价\n"); if((fp=fopen("train_information","rb"))==NULL) {printf("系统暂无添加车次,请等待查询!");Delay(10000);system("cls");admin_field();} while(tr!=NULL) { fread(tr,sizeof(Ticket),1,fp); printf("%c\t",tr->num); tim=systemtime(); if(strcmp(tim,tr->time)>0) printf("%s\t","已发车"); else printf("%s\t",tr->time); printf("%s\t%s\t%s\t %4d\t %4d\t\t%4.2f\n",tr->starts,tr->ends,tr->gotime,tr->full,tr->sold,tr->price); tr=tr->next; } fclose(fp); puts("\t\t1->站点查询"); puts("\t\t2->车号查询");getchar(); ch=getchar(); switch(ch) { case '1':station();break; case '2':Number();break; } printf("按任意键返回班次管理页面...");getchar(); getchar();system("cls");admin_field(); } /****************函数:统计售票销售额*********问题***********/ void Count_sale() { train tr; FILE *fp;double Price=0; if((fp=fopen("train_information","rb+"))==NULL) {printf("文件打开错误!");Delay(9000);system("cls");admin_field();} for(tr=head->next;tr!=NULL;tr=tr->next) { Price+=tr->sold*tr->price; } fclose(fp); printf("总销售额为:%4.2f\n",Price); printf("按任意键返回班次管理页面...");getchar(); getchar();system("cls");admin_field(); } /****************函数:保存修改后信息********************/ void save() { FILE *fp;train tr; tr=head; if((fp=fopen("train_information","wb"))==NULL) {printf("程序出错,系统将自动跳转至登陆界面!");Delay(9000);system("cls");load();} while(tr!=NULL) { fwrite(tr,sizeof(Ticket),1,fp); tr=tr->next; } fclose(fp); printf("保存成功,按任意键返回..."); switch(flag) { case 'A':getchar();route_manage();break; case 'S':getchar();Assistor_Fild();break; } } /****************函数:售票员主页面********************/ void Assistor_Fild() { char choice; gotoxy(14,2); puts("========================================"); gotoxy(20,3);puts("1->信息维护\n"); gotoxy(20,4);puts("2->售 票\n"); gotoxy(20,5);puts("3->退 票\n"); gotoxy(20,6);puts("0->返 回\n"); gotoxy(14,7); puts("========================================"); gotoxy(25,20); puts(invent); gotoxy(14,8); printf("请选择功能:");getchar(); choice=getchar(); switch(choice) { case '1':system("cls");protect();break;//进入信息维护 case '2':system("cls");sale();break;//进入售 票 case '3':system("cls");t_return();break;//进入退 票 case '0':system("cls");load();break;//退回到登陆页面 } } /***************函数:信息维护**************/ void protect() { char choice;FILE *fp; gotoxy(14,2); puts("==========================================="); puts("\t\t1->修改信息\t0->返回"); gotoxy(14,4); puts("==========================================="); /***************显示账户信息**************/ if((fp=fopen("information","rb"))==NULL) {printf("文件打开出错,系统将自动跳转至售票员主页");Delay(8000);Assistor_Fild();} fread(&inf,sizeof(struct Information),1,fp); {printf("您的账号:");printf("%s",inf.assis_acc); printf("\t\t您的密码:");printf("%s",inf.assis_pas);} fclose(fp); gotoxy(25,20);puts(invent); /*****************************************/ gotoxy(14,6); printf("请继续您的操作:");getchar(); choice=getchar(); switch(choice) { case '1':system("cls");M_information();break;//进入修改信息 case '0':system("cls");Assistor_Fild();break;//退回到售票员页面 } } /**************函数:修改账户信息*******************/ void M_information() { char ch,sav; FILE * fp; gotoxy(20,7); printf("账号为1至9位数字或字母"); gotoxy(20,10); printf("请输入新账号:"); gotoxy(20,11); printf("请输入新密码:"); gotoxy(34,10); scanf("%s",inf.assis_acc); if(strlen(inf.assis_acc)>9) {gotoxy(46,10);printf("账户超过额定长度,请重试");system("cls");M_information();} ch=getch(); if(ch==9) { gotoxy(34,11); scanf("%s",inf.assis_pas); } printf("保存密码?(y->是,n->否):");getchar(); sav=getchar(); if(sav=='n'||sav=='N') { system("cls");protect();} if((fp=fopen("train_information","wb"))==NULL) {printf("文件打开出错");exit(0);} fwrite(&inf,sizeof(struct Information),1,fp);printf("保存成功"); } /**************函数:售票**********************/ void sale() { char choice; gotoxy(14,2); puts("========================================"); Check(); gotoxy(20,3);puts("1->站点查询\n"); gotoxy(20,4);puts("2->车号查询\n"); gotoxy(20,5);puts("3->直接购票\n"); gotoxy(20,6);puts("0->返 回\n"); gotoxy(14,7); puts("========================================"); printf("请选择业务:");getchar(); choice=getchar(); switch(choice) { case '1':station();book();break; case '2':Number();book();break; case '3':book();break; case '0':system("cls");Assistor_Fild();break; } } /***************函数:按站点查询购票********************/ void station() { train tr; char start[8],END[8]; printf("输入起点:"); scanf("%s",start); printf("\t\t\t输入终点"); scanf("%s",END); for(tr=head->next;tr!=NULL;tr=tr->next) { if(!strcmp(tr->starts,start)&&!strcmp(tr->ends,END)) printf("%c\t%s\t%s\t%s\t%s\t\t%4d\t\t%4d\t\t%4.2f\n",tr->num,tr->time,tr->starts,tr->ends,tr->gotime,tr->full,tr->sold,tr->price); } } /***************函数:按班次号查询购票********************/ void Number() { train tr;char num; printf("输入班次号:");getchar(); scanf("%c",&num); for(tr=head->next;tr!=NULL;tr=tr->next) { if(tr->num==num) printf("%c\t%s\t%s\t%s\t%s\t%4d\t%4d\t%4.2f\n",tr->num,tr->time,tr->starts,tr->ends,tr->gotime,tr->full,tr->sold,tr->price); break; } } /****************函数:购票********************/ void book() { char num;char boo,*Time;train tr; Time=systemtime(); printf("请输入所要订购的车次号:"); scanf("%c",&num); for(tr=head->next;tr!=NULL;tr=tr->next) { if(tr->num==num) { if(tr->full==tr->sold) { printf("该车次票已售完,请转乘其他车次,自动跳转中...."); Delay(8000);system("cls");sale(); } else if(strcmp(Time,tr->time)>0) { printf("该车次已发车,请转乘其他车次,自动跳转中...."); Delay(8000);system("cls");sale(); } tr->sold++; } } printf("订票成功!自动跳转中...."); Delay(7000);system("cls");renew(); } /****************函数:退票********************/ void t_return() { char num;char *Time;train tr; Check();Time=systemtime(); printf("请输入所要退订的车次号:"); scanf("%c",&num); for(tr=head->next;tr!=NULL;tr=tr->next) { if(tr->num==num) { if(tr->sold==0) { printf("此车次尚未售出车票,请确认后再进行退票业务,自动跳转中...."); system("cls");Assistor_Fild(); } else if(strcmp(Time,tr->time)>0) { printf("该班车已发出,不能办理退票业务"); printf("按任意键返回售票员主页...");getchar(); system("cls");Assistor_Fild(); } tr->sold--;//以rb+方式打开,采用fread函数能把tr->sold储存吗?***************** } } printf("退票成功!自动跳转中...."); Delay(8000);system("cls");renew(); } /*****************函数:自动更新*************************/ void renew() { train tr;char *tim; printf("班次 发车时间 起点站 终点站 行车时间 额定载量 已售票数 票价\n"); for(tr=head->next;tr!=NULL;tr=tr->next) { printf("%c\t",tr->num); tim=systemtime(); if(!strcmp(tim,tr->time))printf("%s\t","已发车"); else printf("%s\t",tr->time); printf("%s\t%s\t%s\t%4d\t%4d\t%4.2f\n",tr->starts,tr->ends,tr->gotime,tr->full,tr->sold,tr->price); } save(); printf("按任意键返回售票员主页...");getchar(); system("cls");Assistor_Fild(); } /****************函数:显示一条班次信息********************/ void printone(train p) { printf("%d车次信息如下:",p->num); printf("=======================================================================\n"); printf("班次 发车时间 起点站 终点站 行车时间 额定载量 已售票数 票价\n"); printf("%c\t%s\t%s\t%s\t%s\t%4d\t%4d\t%4.2f\n",p->num,p->starts,p->ends,p->gotime,p->full,p->sold,p->price); } /****************函数:获取系统时间*******************/ char*systemtime() { static char tim[8]; time_t timep; struct tm *p; time(&timep); p = gmtime(&timep); if((p->tm_hour+8)>24) p->tm_hour=p->tm_hour-16; else p->tm_hour=p->tm_hour+8; tim[0]=(p->tm_hour)/10+'0'; tim[1]=(p->tm_hour)%10+'0'; tim[2]=':'; tim[3]=p->tm_min/10+'0'; tim[4]=p->tm_min%10+'0'; tim[5]=':'; tim[6]=p->tm_sec/10+'0'; tim[7]=p->tm_sec%10+'0'; return tim; } /***********************读取***************************/ train read() { FILE *fp;train head1=NULL,p,q; if((fp=fopen("rain_information","rb"))==NULL) { printf("文件打开出错,已无法挽救,系统即将关闭");return head1; } p=(train)malloc(sizeof(Ticket)); if(fread(p,sizeof(Ticket),1,fp)!=1)return head1; head1=p;//否则就将文件的首地址给链表头 while(!feof(fp))//检测fp所指是否到达文件结尾;不是返回0;是返回其他非0值 { q=p; p=(train)malloc(sizeof(Ticket)); fread(p,sizeof(Ticket),1,fp); q->next=p; } q->next=NULL;//链表尾 free(p);fclose(fp); return head1; } /****************光标位置函数*************************/ void gotoxy(int x,int y) { CONSOLE_SCREEN_BUFFER_INFO csbiInfo; HANDLE hConsoleOut; hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo); csbiInfo.dwCursorPosition.X = x; csbiInfo.dwCursorPosition.Y = y; SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition); }

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

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

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

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

javaWeb图书馆管理系统源码mysql版本

系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

Java8零基础入门视频教程

这门课程基于主流的java8平台,由浅入深的详细讲解了java SE的开发技术,可以使java方向的入门学员,快速扎实的掌握java开发技术!

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

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

TTP229触摸代码以及触摸返回值处理

自己总结的ttp229触摸代码,触摸代码以及触摸按键处理

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

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

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

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

快速排序---(面试碰到过好几次)

原理:    快速排序,说白了就是给基准数据找其正确索引位置的过程.    如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.    首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18&amp;lt...

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

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

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

想学好JAVA必须要报两万的培训班吗? Java大神勿入 如果你: 零基础想学JAVA却不知道从何入手 看了一堆书和视频却还是连JAVA的环境都搭建不起来 囊中羞涩面对两万起的JAVA培训班不忍直视 在职没有每天大块的时间专门学习JAVA 那么恭喜你找到组织了,在这里有: 1. 一群志同道合立志学好JAVA的同学一起学习讨论JAVA 2. 灵活机动的学习时间完成特定学习任务+每日编程实战练习 3. 热心助人的助教和讲师及时帮你解决问题,不按时完成作业小心助教老师的家访哦 上一张图看看前辈的感悟: &nbsp; &nbsp; 大家一定迫不及待想知道什么是极简JAVA学习营了吧,下面就来给大家说道说道: 什么是极简JAVA学习营? 1. 针对Java小白或者初级Java学习者; 2. 利用9天时间,每天1个小时时间; 3.通过 每日作业 / 组队PK / 助教答疑 / 实战编程 / 项目答辩 / 社群讨论 / 趣味知识抢答等方式让学员爱上学习编程 , 最终实现能独立开发一个基于控制台的‘库存管理系统’ 的学习模式 极简JAVA学习营是怎么学习的? &nbsp; 如何报名? 只要购买了极简JAVA一:JAVA入门就算报名成功! &nbsp;本期为第四期极简JAVA学习营,我们来看看往期学员的学习状态: 作业看这里~ &nbsp; 助教的作业报告是不是很专业 不交作业打屁屁 助教答疑是不是很用心 &nbsp; 有奖抢答大家玩的很嗨啊 &nbsp; &nbsp; 项目答辩终于开始啦 &nbsp; 优秀者的获奖感言 &nbsp; 这是答辩项目的效果 &nbsp; &nbsp; 这么细致的服务,这么好的氛围,这样的学习效果,需要多少钱呢? 不要1999,不要199,不要99,只要9.9 是的你没听错,只要9.9以上所有就都属于你了 如果你: 1、&nbsp;想学JAVA没有基础 2、&nbsp;想学JAVA没有整块的时间 3、&nbsp;想学JAVA没有足够的预算 还等什么?赶紧报名吧,抓紧抢位,本期只招300人,错过只有等时间待定的下一期了 &nbsp; 报名请加小助手微信:eduxy-1 &nbsp; &nbsp;

C++语言基础视频教程

C++语言基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍C++语言中的封装、数据隐藏、继承、多态的实现等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会利用C++语言解决问题,具备进一步学习利用C++开发应用程序的基础。

UnityLicence

UnityLicence

软件测试2小时入门

本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型;&nbsp; 2.常用的黑盒测试用例设计方法及示例演示;&nbsp; 3 常用白盒测试用例设计方法及示例演示;&nbsp; 4.自动化测试优缺点、使用范围及示例‘;&nbsp; 5.测试经验谈。

YOLOv3目标检测实战:训练自己的数据集

YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。本课程将手把手地教大家使用labelImg标注和使用YOLOv3训练自己的数据集。课程分为三个小项目:足球目标检测(单目标检测)、梅西目标检测(单目标检测)、足球和梅西同时目标检测(两目标检测)。 本课程的YOLOv3使用Darknet,在Ubuntu系统上做项目演示。包括:安装Darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 Darknet是使用C语言实现的轻型开源深度学习框架,依赖少,可移植性好,值得深入探究。 除本课程《YOLOv3目标检测实战:训练自己的数据集》外,本人推出了有关YOLOv3目标检测的系列课程,请持续关注该系列的其它课程视频,包括: 《YOLOv3目标检测实战:交通标志识别》 《YOLOv3目标检测:原理与源码解析》 《YOLOv3目标检测:网络模型改进方法》 敬请关注并选择学习!

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

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项目。

超详细MySQL安装及基本使用教程

一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下:  然后点击downloads,community,选择MySQL Community Server。如下图:  滑到下面,找到Recommended Download,然后点击go to download page。如下图:  点击download进入下载页面选择No...

一学即懂的计算机视觉(第一季)

图像处理和计算机视觉的课程大家已经看过很多,但总有“听不透”,“用不了”的感觉。课程致力于创建人人都能听的懂的计算机视觉,通过生动、细腻的讲解配合实战演练,让学生真正学懂、用会。 【超实用课程内容】 课程内容分为三篇,包括视觉系统构成,图像处理基础,特征提取与描述,运动跟踪,位姿估计,三维重构等内容。课程理论与实战结合,注重教学内容的可视化和工程实践,为人工智能视觉研发及算法工程师等相关高薪职位就业打下坚实基础。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/26281 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程2年有效观看时长,但是大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 下载方式:电脑登录https://edu.csdn.net/course/detail/26281,点击右下方课程资料、代码、课件等打包下载

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

web网页制作期末大作业

分享思维,改变世界. web网页制作,期末大作业. 所用技术:html css javascript 分享所学所得

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Spring Boot -01- 快速入门篇(图文教程)

Spring Boot -01- 快速入门篇 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到【慕课网】手机 app,去找【Spring Boot 2.0 深度实践】的课程,令人开心的是,课程完全免费! 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot...

立方体线框模型透视投影 (计算机图形学实验)

计算机图形学实验 立方体线框模型透视投影 的可执行文件,亲测可运行,若需报告可以联系我,期待和各位交流

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

相关热词 c# cad插入影像 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园
立即提问