Day 2 CNN进阶之旅

本文详细介绍了在Windows环境下如何使用Anaconda安装Python、Theano及Keras等深度学习工具,包括环境变量配置及常见问题解决办法。
部署运行你感兴趣的模型镜像

windows下配置python+theano+keras环境
1、使用Anaconda Prompt安装对应的packages
安装顺序:libpython->mingw->theano->keras
安装完mingw后需要在patn中添加环境变量
C:\ProgramData\Anaconda3\MinGW\bin
C:\ProgramData\Anaconda3\MinGW\x86_64-w64-mingw32
安装完theano后需要新建添加环境变量PYTHONPATH
C:\ProgramData\Anaconda3\Lib\site-packages\theano
注:keras同时支持tnsorflow 和 theano两种方式作为后端启动,但是Windows下tensorflow兼容性存在问题,故需要修改C:\Users\Administrator.keras\keras.json文件如下:

{
    "floatx": "float32",
    "epsilon": 1e-07,
    "image_dim_ordering": "th",
    "backend": "theano"
}

2、测试是否成功

import theano
import keras
Using Theano backend.

注意:在import theano可能会出现问题,需要安装mingw模块,并且加入系统变量中

ps:学习使用keras搭建简单的神经网络并运行example,对猫狗数据集进行分类

ps2:妈个鸡儿不知道怎么回事突然坏掉了,keras和theano都无法正常调用,pip也坏掉了
解决方案:直接在site-package中删除theano,删除环境变量,pip可以恢复正常,然后安装pip install keras,下载theano的zip文件,解压到你电脑的…/Anaconda/Lib/site-packages/theano目录下,注意:原来这个site-packages里面本身就有一个叫做theano的东西,把它删了!替换成压缩包里的文件,并重命名为theano,然后就可以正常使用。如果还存在问题重启哈就可以啦

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### Java 高级特性 Day 04 学习教程 #### 一、继承的深入理解 继承是面向对象编程的重要特性之一,它允许子类继承父类的非私有属性和方法。通过 `extends` 关键字可以定义一个类作为另一个类的子类[^3]。 ```java class 动物 { String name; public 动物(String name) { this.name = name; } public void 喊叫() { System.out.println(name + " 发出了叫声!"); } } class 狗 extends 动物 { public 狗(String name) { super(name); } @Override public void 喊叫() { System.out.println(name + " 汪汪!"); } } ``` 上述代码展示了如何利用继承来扩展功能并重写父类中的方法。 --- #### 二、SAX 和 DOM4J 的对比分析 在处理 XML 数据时,可以选择不同的解析方式。以下是两种常见的方式及其适用场景: 1. **SAX 解析器** SAX 是一种基于事件驱动的解析技术,适合用于大规模 XML 文件的读取操作。它的特点是占用资源较少且内存消耗低[^1]。 2. **DOM4J 库** DOM4J 提供了一个强大的 API 来简化 XML 文档的操作。它是开源项目的一部分,具有高性能和丰富的功能集合。 对于小型应用或者需要频繁修改节点的情况,推荐使用 DOM4J;而对于超大文件,则更适合采用 SAX 方法进行逐行扫描。 --- #### 三、I/O 流基础回顾 Java 中 I/O 流提供了多种机制来进行数据传输与存储管理。下面是一个简单的例子展示如何从本地磁盘加载文件内容到程序内部缓冲区中去[^2]: ```java import java.io.FileInputStream; import java.io.IOException; public class FileReadExample { public static void main(String[] args) throws IOException { FileInputStream fis = null; try { byte[] buffer = new byte[1024]; // 创建输入流实例化对象 fis = new FileInputStream("example.txt"); int length; while ((length = fis.read(buffer)) != -1){ System.out.print(new String(buffer, 0 , length)); } } finally{ if(fis!=null)fis.close(); } } } ``` 此片段演示了基本文件读写的流程以及异常捕获的重要性。 --- #### 四、多线程实践案例 创建多个并发运行的任务可以通过实现 Runnable 接口或继承 Thread 类完成。这里给出一段关于设置自定义线程名的小示范[^4]: ```java package Chapter1; // 定义一个新的任务单元 class MyTask implements Runnable { private final String taskName; public MyTask(String taskName) { this.taskName = taskName; } @Override public void run() { for (int i=0;i<5;i++) { System.out.printf("%s 正在工作...第%d次\n",taskName,i+1); try {Thread.sleep((long)(Math.random()*100));} catch(Exception e){} } } } public class MultiThreadsTest { public static void main(String[] args) { Thread threadA=new Thread(new MyTask("线程 A"),"线程-A"); Thread threadB=new Thread(new MyTask("线程 B"),"线程-B"); threadA.start();threadB.start(); // 主线程等待所有子线程结束之后再退出 try{threadA.join();threadB.join();}catch(InterruptedException ie){ie.printStackTrace();} System.out.println("全部线程已完成."); } } ``` 以上代码说明了启动新线程的过程,并强调了 join 方法的作用以确保主线程不会提前终止。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值