Anaconda下的tensorflow安装 下面是安装tensorflow的命令,使用下列指令安装前需要配置好CUDA,关于CUDA的配置在上一篇博客中有详细的步骤描述。关于Anaconda的安装以及配置可以浏览我的上一篇博客。与上面图片一样则说明tensorflow环境安装成功。
pytorch环境配置 GPU版本选择cu,后面cp37的意思是python3.7版本,使用离线安装不涉及网络问题。更改红色框选的路径为下图cmd.exe后面的内容之后重启pycharm终端即可。找到与CUDA、python、torch相对应的torchvision版本。如果支持CUDA11.x,建议先安装CUDA11.3,下载链接。离线下载的优势是不出错,相对于在线下载方式很有优势。查看torchvision是否安装成功。查看GPU能够支持的最高CUDA版本。输入下列命令查看CUDA是否安装成功。查看已经创建的虚拟环境。
实验五~JDBC数据库访问与DAO设计模式 【步骤3】创建兼具视图与控制器功能的JSP页面:编写displayBooks.jsp页面,使用动作调用BookDAO查询所有图书的信息,以表格的形式显示所有图书的书号、书名、作者、价格和出版社名称。【步骤5】:创建showCustmer.jsp,显示所有客户的信息,每一条客户信息后面增加修改和删除超链接,编写ActionServlet.java控制器,调用DAO和传输对象实现对客户信息的删除和修改功能。创建数据库MySQL代码与插入数据代码。上面这部分需要改一下。
Java多线程~谈谈自己对于synchronized、volatile关键字的理解,线程的状态转换以及创建线程的方式 创建一个线程,线程就进入了NEW状态,当调用start方法时,进入RUNNABLE状态,如果调用了wait、join等方法时就进入WAITING、TIMED_WAITING状态,当多个线程竞争同一把锁时,竞争失败的线程进入BLOCKING状态,线程执行完成后,进入TERMINATED状态。这里的轻量级锁是通过CAS实现的,通过CAS检查并更新一块内存,如果更新成功表示加锁成功,如果更新失败,则认为锁被占用,继续自旋式的等待(并不放弃CPU).自旋操作是一直让CPU进行空转,比较浪费CPU资源。
分享一个降低时间复杂度的方法~除自身以外数组的乘积 给你一个整数数组nums,返回 数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据 保证 数组nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。请不要使用除法,且在O(n) 时间复杂度内完成此题。
浅谈对于封装、继承与多态的理解(Java) 在复习过程中,总结自己对于封装、继承、多态的理解,包括了如何在子类中访问父类的同名变量和方法,子类构造方法的定义与使用,根据代码块在继承顺序上的执行关系来谈谈初始化,在java中使用多态的条件、多态的体现以及多态的优缺点
算法学习 | 回溯算法之深度优先搜索常见题型练习 深度优先搜索(Depth First Search):深度优先搜索属于图算法的一种,其过程主要是对每一个可能的分支路径深入到不能再深入到为止,而且每个节点只能访问一次。深度优先搜索本质上就是暴力搜索,遍历了所有可能的情况,必然能得到解。DFS搜索的流程是一个树的形式,每次一条路走到黑。
算法学习 | 深度优先搜索~一条道走到黑 深度优先搜索(Depth First Search):深度优先搜索属于图算法的一种,其过程主要是对每一个可能的分支路径深入到不能再深入到为止,而且每个节点只能访问一次。深度优先搜索本质上就是暴力搜索,遍历了所有可能的情况,必然能得到解。DFS搜索的流程是一个树的形式,每次一条路走到黑。深度优先搜索的关键是解决“当下该如何做”,下一步的做法和当下的做法是一致的。“当下如何做”一般是尝试每一种可能,用for循环遍历对于每一种可能确定之后,继续走下一步,当前的剩余可能等到从下一步回退之后再处理。
Spring中Bean的作用域和生命周期 Bean的作用域是指Bean在Spring整个框架中的某种行为模式,比如singleton单例作用域,就表示Bean在整个Spring中只有一份,它是全局共享的,当其他人修改了这个值后,另一个人读取到的就是被修改的值.每次对该作用域下的Bean的请求都会创建新的实例:获取Bean(即通过applicationContext.getBean等方法获取)及装配(通过@Autowired注入)都是新的对象实例。用户会话的共享bean,比如记录一个用户的登录信息,限定在Spring MVC中使用。
Spring中Bean对象的装配/注入(属性注入、构造方法注入、Setter注入)、@Autowired与@Resource的对比、如何解决同一类型多个bean的报错问题 构造方法注入是Spring推荐的注入方式,他的缺点是如果多个注入会显得比较臃肿,但出现这种情况应该考虑一下是否符合程序的单一职责的设计模式,它的优点是通用性,在使用之前一定要保证注入的类不为空。使用时设置的参数不同,相比于@Autowired,@Resource支持更多的参数设置,例如name设置,设置之后就可以根据name的值来获取Bean。也就是DI(依赖注入):将某个对象需要的依赖注入到属性中,常见的对象注入方法有属性注入、构造方法注入、Setter注入。构造方法注入是在类的构造方法中实现注入。
Spring~五种存储Bean对象的类注解、方法注解(@Bean)以及Bean对象的获取 @Configuration是将其注册为配置类对象,在项目启动时需要准备一些配置信息,一般通过配置类来初始化,其他类注解都是注册为普通的Bean对象,主要是在软件分层后,在不同的分层使用。@Component注解是组件存储,除了明确含义的类注解作用外,其他的作用就可以使用@Component来进行注解,其默认也是单例的方式注册Bean对象。@Repository注解是仓库存储,数据访问层,一般是数据库的操作,其默认也是单例的方式注册Bean对象。此时就只能通过@Bean注解的方法名来获取Bean对象。
初识Spring框架~控制反转IoC、依赖注入DI以及Spring项目的创建方式 对于Spring IoC容器来说,是管理Bean对象的容器.单纯从存放数据这个角度来看,Spring IoC容器与普通的集合框架一样,但使用Spring容器存放对象,对象不需要程序员手动去new,需要进行管理的对象,直接放入到容器中。因此,在学习Spring时,主要就是学会如何将对象存储到Spring中,再从Spring中获取对象的过程。依赖注入和控制反转其实是从不同的角度描述同一件事,就是指通过引入IoC容器,利用依赖关系注入的方式,实现对象之间的解耦.也可以说IoC是是思想,而DI是其具体的实现。