Technical/Non-technical skills
- is my
- C/C++
- HTML and CSS
- Git and GitHub
- Android Studio
- Google AdMob
- Microsoft PowerPoint and Word
Successful Projects
- Brain Teaser Android App
-
Brain Teaser is my first major personal project I developed in 2018 using Java programming language. Brain Teaser is a trivia based
game that test the player's general knowledge on history, politics, fun-facts, country, games, achievements and so much more. It
also has a Google leaderboard implemented inside the app and currently runs from android 🍭 5.0 to android 🥧 9.0. My app earned more than
a hundred downloads in the first week of release.
Click here to see my app website.
- Baseball Guessing Game
-
This project is one of my school final semester project that I had to develop in my Programming II class in the Summer of 2020. The
programming language I used for the development of this project was C++. The Baseball Guessing Game is about a player guessing three
different numbers and then the computer checks if the player guessed all the three digits that is same with the guess of computer and
and awards a strike to the player. Otherwise if all the three are not correct but some are, the the player gets the a strike and balls.
I later learned how to create a Baseball Guessing Game using Java GUI and Model View Controller (MVC) in my Object Oriented Software
Construct and Design class which was purely based on Java programming language.
- Hangman Game/Word Guess Game
-
This is another school project that was first designed alongside my Baseball Guessing Game in the Summer of 2020. Hangman Game is a popular
game in the United States of America I was introduced to in my freshman year and I eventually had to do it as a final project in my Programming II
class (C++). Hangman Game is all about the player trying to guess a word by guessing each character in the word and if they fail the guess, their
health level decreases till they fail completely.
I later redesigned this game in the Fall of 2020 for my Object Oriented Software Construct and Design class using Java GUI and MVC structures.
- Snake Game
-
This project was developed using Java GUI, MVC structures, Object Oriented Programming concepts, and Design Patterns
(State and Observer Patterns) in the Fall of 2020.
- Enhanced Space Invader Game
-
This was the final project in my Object Oriented Software Construct and Design class. It was designed using Java GUI, Object Oriented Programming concepts,
Software Design Patterns (Obsever, State, Builder Patterns). Basically the player is to shoot down aliens before it reaches the end of the game board and
also avoid the UFO's bombs.
I implemented over 7 creative ideas inside this project to make it enhanced.
- Brain Teaser Android App
-
Brain Teaser is my first major personal project I developed in 2018 using Java programming language. Brain Teaser is a trivia based
game that test the player's general knowledge on history, politics, fun-facts, country, games, achievements and so much more. It
also has a Google leaderboard implemented inside the app and currently runs from android 🍭 5.0 to android 🥧 9.0. My app earned more than
a hundred downloads in the first week of release.
Click here to see my app website. - Baseball Guessing Game
-
This project is one of my school final semester project that I had to develop in my Programming II class in the Summer of 2020. The
programming language I used for the development of this project was C++. The Baseball Guessing Game is about a player guessing three
different numbers and then the computer checks if the player guessed all the three digits that is same with the guess of computer and
and awards a strike to the player. Otherwise if all the three are not correct but some are, the the player gets the a strike and balls.
I later learned how to create a Baseball Guessing Game using Java GUI and Model View Controller (MVC) in my Object Oriented Software Construct and Design class which was purely based on Java programming language. - Hangman Game/Word Guess Game
-
This is another school project that was first designed alongside my Baseball Guessing Game in the Summer of 2020. Hangman Game is a popular
game in the United States of America I was introduced to in my freshman year and I eventually had to do it as a final project in my Programming II
class (C++). Hangman Game is all about the player trying to guess a word by guessing each character in the word and if they fail the guess, their
health level decreases till they fail completely.
I later redesigned this game in the Fall of 2020 for my Object Oriented Software Construct and Design class using Java GUI and MVC structures. - Snake Game
- This project was developed using Java GUI, MVC structures, Object Oriented Programming concepts, and Design Patterns (State and Observer Patterns) in the Fall of 2020.
- Enhanced Space Invader Game
-
This was the final project in my Object Oriented Software Construct and Design class. It was designed using Java GUI, Object Oriented Programming concepts,
Software Design Patterns (Obsever, State, Builder Patterns). Basically the player is to shoot down aliens before it reaches the end of the game board and
also avoid the UFO's bombs.
I implemented over 7 creative ideas inside this project to make it enhanced.


CTRLALTDEL
Section: Linux Programmer's Manual (8)Updated: 25 October 1993
Index Return to Main Contents
NAME
ctrlaltdel - set the function of the Ctrl-Alt-Del combinationSYNOPSIS
ctrlaltdel hard|softDESCRIPTION
Based on examination of the linux/kernel/sys.c code, it is clear that there are two supported functions that the Ctrl-Alt-Del sequence can perform: a hard reset, which immediately reboots the computer without calling sync(2) and without any other preparation; and a soft reset, which sends the SIGINT (interrupt) signal to the init process (this is always the process with PID 1). If this option is used, the init(8) program must support this feature. Since there are now several init(8) programs in the Linux community, please consult the documentation for the version that you are currently using.ctrlaltdel is usually used in the /etc/rc.local file.
FILES
/etc/rc.localSEE ALSO
init(8)AUTHOR
Peter Orbaek (poe@daimi.aau.dk)AVAILABILITY
The ctrlaltdel command is part of the util-linux-ng package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
Index
This document was created by man2html, using the manual pages.
Time: 05:34:25 GMT, December 24, 2015


You can define as many place holder blocks as you like. External files only need to fill the blocks which make sense for their page.
You can define as many place holder blocks as you like. External files only need to fill the blocks which make sense for their page.
Notice that pages which don't define this right panel block default back to the base page.


There was a lonely lad sitting near the waste To the real world he was just part of the sight But a real meal for dogs My thoughts chose to loiter through his mind Forlornness and solitude seemed like companion of his eyes Mixture of curiosity and concern rolled my body towards him Skin was desiccated and tears had made visible path down his chin Hesitantly I sat beside him But he din bother and kept staring at the blue sky People passed by staring at my one sided conversation And surprisingly he turned his face towards me No smile, no expression , he stared at me And he kept staring at me Finally he burst down asking me a question WILL YOU BE MY WINGS TO FLY And the words echoed WILL YOU?? WILL YOU BE MY WINGS?


About
A life less complex is my journey to declutter my mind, body and house. This blog started because I wanted to write about the coachings I got to deal with my AD(H)D and the things I learned there. I’ll also write about being financially independent, how to get out of financial dept, and other things that help reduce the clutter in a world where we a constantly bombarded with consumerism and social ADHD.


#include <clntprof-3195cooked.h>
Public Attributes | |
| srObjID | OID |
| object ID | |
| SBmsgno | uNextMsgno |
| msgno for next message to be send | |
| char * | pszMyIP |
| buffered local IP addres (that being used for sending to the remote peer) | |
| char * | pszMyHostName |
| buffered local host FQDN (that being used for sending to the remote peer) |


fill credentials for validation
First Name
lastname
date of Birth
username
password
postal code
Email-id
phone number


Applications and practices
Main applications for the web
- Classification
- Regression
- Clustering
- Recommendation
Classification
example: Sentiment analysis
Regression
example: Price estimation
Clustering
example: Personas
Recommendation
example: Collaborative filtering
Issues
- Data: "garbage in, garbage out"
- Model: "nobody is perfect"
Data issues
- Harvest (quantity)
- Cleaning (quality)
- Integration (pertinency)
Model issues
Choosing an algorithm
Reaching 100% accuracy?


!pip install scipy
Requirement already satisfied: scipy in /anaconda3/lib/python3.7/site-packages (1.3.1)
!pip install researchpy
Requirement already satisfied: researchpy in /anaconda3/lib/python3.7/site-packages (0.1.7)
Requirement already satisfied: pandas in /anaconda3/lib/python3.7/site-packages (from researchpy) (0.25.1)
Requirement already satisfied: statsmodels in /anaconda3/lib/python3.7/site-packages (from researchpy) (0.10.1)
Requirement already satisfied: scipy in /anaconda3/lib/python3.7/site-packages (from researchpy) (1.3.1)
Requirement already satisfied: numpy in /anaconda3/lib/python3.7/site-packages (from researchpy) (1.16.5)
Requirement already satisfied: python-dateutil>=2.6.1 in /anaconda3/lib/python3.7/site-packages (from pandas->researchpy) (2.8.0)
Requirement already satisfied: pytz>=2017.2 in /anaconda3/lib/python3.7/site-packages (from pandas->researchpy) (2019.1)
Requirement already satisfied: patsy>=0.4.0 in /anaconda3/lib/python3.7/site-packages (from statsmodels->researchpy) (0.5.1)
Requirement already satisfied: six>=1.5 in /anaconda3/lib/python3.7/site-packages (from python-dateutil>=2.6.1->pandas->researchpy) (1.12.0)
import statsmodels.api as sm
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from sklearn.preprocessing import scale
import researchpy as rp
from scipy import stats
https://www.kaggle.com/lakshmi25npathi/bike-sharing-dataset
bike_sharing_data = pd.read_csv('datasets/day.csv')
bike_sharing_data.shape
(731, 16)
bike_sharing_data.head()
| instant | dteday | season | yr | mnth | holiday | weekday | workingday | weathersit | temp | atemp | hum | windspeed | casual | registered | cnt | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2011-01-01 | 1 | 0 | 1 | 0 | 6 | 0 | 2 | 0.344167 | 0.363625 | 0.805833 | 0.160446 | 331 | 654 | 985 |
| 1 | 2 | 2011-01-02 | 1 | 0 | 1 | 0 | 0 | 0 | 2 | 0.363478 | 0.353739 | 0.696087 | 0.248539 | 131 | 670 | 801 |
| 2 | 3 | 2011-01-03 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0.196364 | 0.189405 | 0.437273 | 0.248309 | 120 | 1229 | 1349 |
| 3 | 4 | 2011-01-04 | 1 | 0 | 1 | 0 | 2 | 1 | 1 | 0.200000 | 0.212122 | 0.590435 | 0.160296 | 108 | 1454 | 1562 |
| 4 | 5 | 2011-01-05 | 1 | 0 | 1 | 0 | 3 | 1 | 1 | 0.226957 | 0.229270 | 0.436957 | 0.186900 | 82 | 1518 | 1600 |
bike_sharing_data = bike_sharing_data[['season',
'mnth',
'holiday',
'workingday',
'weathersit',
'temp',
'cnt']]
bike_sharing_data.to_csv('datasets/bike_sharing_data_processed.csv', index=False)
bike_sharing_data.head()
| season | mnth | holiday | workingday | weathersit | temp | cnt | |
|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 0 | 2 | 0.344167 | 985 |
| 1 | 1 | 1 | 0 | 0 | 2 | 0.363478 | 801 |
| 2 | 1 | 1 | 0 | 1 | 1 | 0.196364 | 1349 |
| 3 | 1 | 1 | 0 | 1 | 1 | 0.200000 | 1562 |
| 4 | 1 | 1 | 0 | 1 | 1 | 0.226957 | 1600 |
bike_sharing_data['season'].unique()
array([1, 2, 3, 4])
bike_sharing_data['workingday'].unique()
array([0, 1])
bike_sharing_data['holiday'].unique()
array([0, 1])
bike_sharing_data['weathersit'].unique()
array([2, 1, 3])
bike_sharing_data['temp'].describe()
count 731.000000
mean 0.495385
std 0.183051
min 0.059130
25% 0.337083
50% 0.498333
75% 0.655417
max 0.861667
Name: temp, dtype: float64
bike_sharing_data.shape
(731, 7)
bike_sharing_data.groupby('workingday')['cnt'].describe()
| count | mean | std | min | 25% | 50% | 75% | max | |
|---|---|---|---|---|---|---|---|---|
| workingday | ||||||||
| 0 | 231.0 | 4330.168831 | 2052.141245 | 605.0 | 2710.50 | 4459.0 | 5907.5 | 8714.0 |
| 1 | 500.0 | 4584.820000 | 1878.415583 | 22.0 | 3344.25 | 4582.0 | 5987.5 | 8362.0 |
bike_sharing_data.boxplot(column=['cnt'], by='workingday', figsize=(12, 8))
<matplotlib.axes._subplots.AxesSubplot at 0x1c2009e490>
sample_01 = bike_sharing_data[(bike_sharing_data['workingday'] == 1)]
sample_02 = bike_sharing_data[(bike_sharing_data['workingday'] == 0)]
sample_01.shape, sample_02.shape
((500, 7), (231, 7))
sample_01 = sample_01.sample(231)
sample_01.shape, sample_02.shape
((231, 7), (231, 7))
The hypothesis being tested¶
Null hypothesis (H0): u1 = u2, which translates to the mean of
sample_01
is equal to the mean ofsample 02
Alternative hypothesis (H1): u1 ? u2, which translates to the means of
sample01
is not equal tosample 02
Homogeneity of variance¶
Of these tests, the most common assessment for homogeneity of variance is Levene’s test. The Levene’s test uses an F-test to test the null hypothesis that the variance is equal across groups. A p value less than .05 indicates a violation of the assumption.
https://en.wikipedia.org/wiki/Levene%27s_test
https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.levene.html
To know, Click here why we test for levene’s test?
stats.levene(sample_01['cnt'], sample_02['cnt'])
LeveneResult(statistic=0.7938672930650592, pvalue=0.373399079715542)
Normal distribution of residuals¶
Checking difference between two pair points¶
https://pythonfordatascience.org/independent-t-test-python/
diff = scale(np.array(sample_01['cnt']) - np.array(sample_02['cnt'], dtype=np.float))
plt.hist(diff)
(array([ 3., 5., 19., 40., 32., 41., 44., 24., 15., 8.]),
array([-2.7190355 , -2.21244298, -1.70585045, -1.19925793, -0.6926654 ,
-0.18607288, 0.32051964, 0.82711217, 1.33370469, 1.84029722,
2.34688974]),
<a list of 10 Patch objects>)
Checking for normality by Q-Q plot graph¶
https://www.statisticshowto.datasciencecentral.com/assumption-of-normality-test/
plt.figure(figsize=(12, 8))
stats.probplot(diff, plot=plt, dist='norm')
plt.show()
Checking normal distribution by shapiro method
¶
https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.shapiro.html
https://stats.stackexchange.com/questions/15696/interpretation-of-shapiro-wilk-test
stats.shapiro(diff)
(0.9915695786476135, 0.2052171230316162)
Note:-See here
W test statistic and the second value is the p-value. Since the test statistic does not produce a significant p-value, the data is indicated to be normally distributed
The data met all the assumptions for the t-test which indicates the results can be trusted and the t-test is an appropriate test to be used.
Independent t-test by using scipy.stats
¶
stats.ttest_ind(sample_01['cnt'], sample_02['cnt'])
Ttest_indResult(statistic=1.4798378333553206, pvalue=0.13960104478008933)
Independent t-test using researchpy
¶
https://researchpy.readthedocs.io/en/latest/ttest_documentation.html
descriptives, results = rp.ttest(sample_01['cnt'], sample_02['cnt'])
descriptives
| Variable | N | Mean | SD | SE | 95% Conf. | Interval | |
|---|---|---|---|---|---|---|---|
| 0 | cnt | 231.0 | 4605.376623 | 1943.695197 | 127.885755 | 4353.399257 | 4857.353990 |
| 1 | cnt | 231.0 | 4330.168831 | 2052.141245 | 135.020981 | 4064.132702 | 4596.204960 |
| 2 | combined | 462.0 | 4467.772727 | 2001.231657 | 93.105723 | 4284.808510 | 4650.736945 |
print(results)
Independent t-test results
0 Difference (cnt - cnt) = 275.2078
1 Degrees of freedom = 460.0000
2 t = 1.4798
3 Two side test p value = 0.1396
4 Difference > 0 p value = 0.9302
5 Difference < 0 p value = 0.0698
6 Cohen's d = 0.1377
7 Hedge's g = 0.1375
8 Glass's delta = 0.1416
9 r = 0.0688
bike_sharing_data.head()
| season | mnth | holiday | workingday | weathersit | temp | cnt | |
|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 0 | 2 | 0.344167 | 985 |
| 1 | 1 | 1 | 0 | 0 | 2 | 0.363478 | 801 |
| 2 | 1 | 1 | 0 | 1 | 1 | 0.196364 | 1349 |
| 3 | 1 | 1 | 0 | 1 | 1 | 0.200000 | 1562 |
| 4 | 1 | 1 | 0 | 1 | 1 | 0.226957 | 1600 |
bike_sharing_data[['temp']].boxplot(figsize=(12, 8))
<matplotlib.axes._subplots.AxesSubplot at 0x1c201c4810>
bike_sharing_data['temp_category'] = \
bike_sharing_data['temp'] > bike_sharing_data['temp'].mean()
bike_sharing_data.sample(10)
| season | mnth | holiday | workingday | weathersit | temp | cnt | temp_category | |
|---|---|---|---|---|---|---|---|---|
| 611 | 3 | 9 | 1 | 0 | 1 | 0.707500 | 6034 | True |
| 91 | 2 | 4 | 0 | 0 | 2 | 0.315000 | 2252 | False |
| 139 | 2 | 5 | 0 | 1 | 1 | 0.536667 | 4917 | True |
| 452 | 2 | 3 | 0 | 1 | 1 | 0.484167 | 5698 | False |
| 578 | 3 | 8 | 0 | 1 | 1 | 0.717500 | 7580 | True |
| 59 | 1 | 3 | 0 | 1 | 1 | 0.266667 | 1851 | False |
| 11 | 1 | 1 | 0 | 1 | 1 | 0.172727 | 1162 | False |
| 409 | 1 | 2 | 0 | 1 | 2 | 0.319167 | 3922 | False |
| 313 | 4 | 11 | 0 | 1 | 2 | 0.380000 | 2933 | False |
| 526 | 2 | 6 | 0 | 0 | 1 | 0.726667 | 6598 | True |
bike_sharing_data.groupby('temp_category')['cnt'].describe()
| count | mean | std | min | 25% | 50% | 75% | max | |
|---|---|---|---|---|---|---|---|---|
| temp_category | ||||||||
| False | 364.0 | 3387.664835 | 1691.340133 | 22.0 | 1964.5 | 3301.0 | 4513.5 | 8090.0 |
| True | 367.0 | 5611.904632 | 1475.698228 | 1115.0 | 4548.5 | 5336.0 | 6897.5 | 8714.0 |
bike_sharing_data.boxplot(column=['cnt'], by='temp_category', figsize=(12, 8))
<matplotlib.axes._subplots.AxesSubplot at 0x1c20f81690>
sample_01 = bike_sharing_data[(bike_sharing_data['temp_category'] == True)]
sample_02 = bike_sharing_data[(bike_sharing_data['temp_category'] == False)]
sample_01.shape, sample_02.shape
((367, 8), (364, 8))
sample_01 = sample_01.sample(364)
sample_01.shape, sample_02.shape
((364, 8), (364, 8))
stats.levene(sample_01['cnt'], sample_02['cnt'])
LeveneResult(statistic=4.764856128120302, pvalue=0.029366139828848118)
diff = scale(np.array(sample_01['cnt']) - np.array(sample_02['cnt']))
plt.hist(diff)
/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py:595: DataConversionWarning: Data with input dtype int64 was converted to float64 by the scale function.
warnings.warn(msg, DataConversionWarning)
(array([ 3., 7., 23., 38., 42., 77., 66., 61., 31., 16.]),
array([-2.98621179, -2.47323075, -1.96024971, -1.44726867, -0.93428763,
-0.42130659, 0.09167446, 0.6046555 , 1.11763654, 1.63061758,
2.14359862]),
<a list of 10 Patch objects>)
plt.figure(figsize=(12, 8))
stats.probplot(diff, plot=plt)
plt.show()
stats.shapiro(diff)
(0.9902293086051941, 0.016001803800463676)
stats.ttest_ind(sample_01['cnt'], sample_02['cnt'])
Ttest_indResult(statistic=18.91228492137341, pvalue=3.6520043264314993e-65)
descriptives, results = rp.ttest(sample_01['cnt'], sample_02['cnt'], equal_variances=False)
descriptives
| Variable | N | Mean | SD | SE | 95% Conf. | Interval | |
|---|---|---|---|---|---|---|---|
| 0 | cnt | 364.0 | 5612.442308 | 1475.309364 | 77.327222 | 5460.376730 | 5764.507885 |
| 1 | cnt | 364.0 | 3387.664835 | 1691.340133 | 88.650311 | 3213.332169 | 3561.997501 |
| 2 | combined | 728.0 | 4500.053571 | 1937.583806 | 71.811634 | 4359.070644 | 4641.036499 |
print(results)
Welch's t-test results
0 Difference (cnt - cnt) = 2224.7775
1 Degrees of freedom = 712.8521
2 t = 18.9123
3 Two side test p value = 0.0000
4 Difference > 0 p value = 1.0000
5 Difference < 0 p value = 0.0000
6 Cohen's d = 1.4019
7 Hedge's g = 1.4004
8 Glass's delta = 1.5080
9 r = 0.5780


§201B-5 Exemption of Hawaii tourism authority from administrative supervision of boards and commissions. Notwithstanding any law to the contrary, the authority shall be exempt from section 26-35 with the exception of section 26-35(a)(2), (3), (7), (8) and subsection (b). [L 1998, c 156, pt of §2; am L 2004, c 16, §2; am L 2005, c 22, §4]


We are a high school robotics team with students from Ruth Asawa School of the Arts located in San Francisco, California
Team 5700, SOTA Cyberdragons gives artistic students an alternative opportunity to pursue an interest in science, technology, engineering, and math. This is made possible by our generous sponsors and dedicated mentors.
SOTA is an arts school that lies in the art of San Fransisco. It has a vibrant culture of artists and musicians creating wonderful works of art and persenting them to the comunity.
What an averagy day at SOTA looks like is a common question most students get. The first half pf the day is where we take our accidemic classes; and the secound half is where we take our art classes.
Lid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis omnis fugats vitaes nemo minima rerums unsers sadips amets. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
 They are great for just about anything, the sky's the limit!
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc placerat diam quis nisl vestibulum dignissim. In hac habitasse platea dictumst. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.


This is the Geology Lighthouse Service of the the EU FP7 EarthServer project. It is run by the British Geological Survey (BGS) (part of the Natural Environment Research Council NERC). The EarthServer project is developing capabilities for access to, and ad-hoc processing of, large Earth science data sets using Open Geospatial Consortium (OGC) standard web service interfaces for coverage data. To find out more about on the involvement of the British Geological Survey see the "BGS and EarthServer Background" page.


File: node_modules/rsvp/lib/rsvp/map.js
import Promise from './promise'; import { isFunction } from './utils'; /** `RSVP.map` is similar to JavaScript's native `map` method, except that it waits for all promises to become fulfilled before running the `mapFn` on each item in given to `promises`. `RSVP.map` returns a promise that will become fulfilled with the result of running `mapFn` on the values the promises become fulfilled with. For example: ```javascript let promise1 = RSVP.resolve(1); let promise2 = RSVP.resolve(2); let promise3 = RSVP.resolve(3); let promises = [ promise1, promise2, promise3 ]; let mapFn = function(item){ return item + 1; }; RSVP.map(promises, mapFn).then(function(result){ // result is [ 2, 3, 4 ] }); ``` If any of the `promises` given to `RSVP.map` are rejected, the first promise that is rejected will be given as an argument to the returned promise's rejection handler. For example: ```javascript let promise1 = RSVP.resolve(1); let promise2 = RSVP.reject(new Error('2')); let promise3 = RSVP.reject(new Error('3')); let promises = [ promise1, promise2, promise3 ]; let mapFn = function(item){ return item + 1; }; RSVP.map(promises, mapFn).then(function(array){ // Code here never runs because there are rejected promises! }, function(reason) { // reason.message === '2' }); ``` `RSVP.map` will also wait if a promise is returned from `mapFn`. For example, say you want to get all comments from a set of blog posts, but you need the blog posts first because they contain a url to those comments. ```javscript let mapFn = function(blogPost){ // getComments does some ajax and returns an RSVP.Promise that is fulfilled // with some comments data return getComments(blogPost.comments_url); }; // getBlogPosts does some ajax and returns an RSVP.Promise that is fulfilled // with some blog post data RSVP.map(getBlogPosts(), mapFn).then(function(comments){ // comments is the result of asking the server for the comments // of all blog posts returned from getBlogPosts() }); ``` @method map @static @for RSVP @param {Array} promises @param {Function} mapFn function to be called on each fulfilled promise. @param {String} label optional string for labeling the promise. Useful for tooling. @return {Promise} promise that is fulfilled with the result of calling `mapFn` on each fulfilled promise or value when they become fulfilled. The promise will be rejected if any of the given `promises` become rejected. @static */ export default function map(promises, mapFn, label) { return Promise.all(promises, label).then(values => { if (!isFunction(mapFn)) { throw new TypeError("You must pass a function as map's second argument."); } let length = values.length; let results = new Array(length); for (let i = 0; i < length; i++) { results[i] = mapFn(values[i]); } return Promise.all(results, label); }); }


This app was developed through BU Spark! Product Innovation Course: CAS CS491 from Fall 2018 to Spring 2019. It matches students with their peers using a modified Gale-Shapley algorithm, which ensures that all students get matched with their best fit.
The current release is a limited version, dedicated just for finals period, to allow us to gain user feedback for the full implementation that will be released in the Fall of 2019. The full-featured app will include the ability to select your free time on a weekly basis, in order to find study groups throughout the whole semester that are more likely to match your schedule.


Start Game
Choose Song Language
English
Hindi
Tamil
Q1
Option 1
Option 2
Option 3
Option 4
Show Answer
Game Over
Start Again


Register
Social Cause
Events
Sponsors
Our Team
Contact Us
Register
Social Cause
Events
Sponsors
Our Team
Contact Us
Last Year we surfed the Tides Of Time...
... This year lets write a tale in two shades!
mobile clouds


triplesort
OS/161 Reference Manual
Name
triplesort - very large VM test
Synopsis
/testbin/triplesort
Description
triplesort runs three copies of sort at once.
Requirements
triplesort uses the following system calls:
triplesort should run properly once the VM assignment is complete.


|
|
CIFXAuthorLineSetResource Class ReferenceInheritance diagram for CIFXAuthorLineSetResource:
List of all members.
|
Public Member Functions |
| const IFXVector4 &IFXAPI | GetBoundingSphere () |
| IFXRESULT IFXAPI | SetBoundingSphere (const IFXVector4 &rBoundingSphere) |
| const IFXMatrix4x4 &IFXAPI | GetTransform () |
| IFXRESULT IFXAPI | SetTransform (const IFXMatrix4x4 &rTransform) |
| IFXRESULT IFXAPI | InvalidateTransform () |
| IFXRESULT IFXAPI | GetMeshGroup (IFXMeshGroup **) |
| virtual IFXRESULT IFXAPI | BuildDataBlockQueue () |
| virtual void IFXAPI | GetDataBlockQueueX (IFXDataBlockQueueX *&rpDataBlockQueueX) |
| IFXRESULT IFXAPI | GetNeighborMesh (IFXNeighborMesh **out_ppNeighborMesh) |
| IFXRESULT IFXAPI | GetUpdatesGroup (IFXUpdatesGroup **out_ppUpdatesGroup) |
| IFXRESULT IFXAPI | GetAuthorLineSet (IFXAuthorLineSet *&rpAuthorLineSet) |
| IFXRESULT IFXAPI | SetAuthorLineSet (IFXAuthorLineSet *pAuthorLineSet) |
| IFXNeighborResControllerInterface * | GetNeighborResController () |
| IFXSkeleton *IFXAPI | GetBones (void) |
| IFXRESULT IFXAPI | SetBones (IFXSkeleton *pBonesGen) |
| IFXRESULT IFXAPI | Transfer () |
| IFXRESULT IFXAPI | GetAuthorMeshMap (IFXMeshMap **ppAuthorLineSethMap) |
| IFXRESULT IFXAPI | SetAuthorMeshMap (IFXMeshMap *pAuthorLineSethMap) |
| IFXRESULT IFXAPI | GetRenderMeshMap (IFXMeshMap **ppRenderLineSetMap) |
| IFXRESULT IFXAPI | SetRenderMeshMap (IFXMeshMap *pRenderLineSetMap) |
|
| U32 IFXAPI | AddRef () |
| U32 IFXAPI | Release () |
| IFXRESULT IFXAPI | QueryInterface (IFXREFIID riid, void **ppv) |
|
| IFXRESULT IFXAPI | SetSceneGraph (IFXSceneGraph *pInSceneGraph) |
|
| void IFXAPI | GetEncoderX (IFXEncoderX *&rpEncoderX) |
|
| IFXRESULT IFXAPI | GetOutputs (IFXGUID **&rpOutOutputs, U32 &rOutNumberOfOutputs, U32 *&rpOutOutputDepAttrs) |
| IFXRESULT IFXAPI | GetDependencies (IFXGUID *pInOutputDID, IFXGUID **&rppOutInputDependencies, U32 &rOutNumberInputDependencies, IFXGUID **&rppOutOutputDependencies, U32 &rOutNumberOfOutputDependencies, U32 *&rpOutOutputDepAttrs) |
| IFXRESULT IFXAPI | GenerateOutput (U32 inOutputDataElementIndex, void *&rpOutData, BOOL &rNeedRelease) |
| IFXRESULT IFXAPI | SetDataPacket (IFXModifierDataPacket *pInInputDataPacket, IFXModifierDataPacket *pInDataPacket) |
| IFXRESULT IFXAPI | Notify (IFXModifierMessage eInMessage, void *pMessageContext) |
Private Member Functions |
| | CIFXAuthorLineSetResource () |
| virtual | ~CIFXAuthorLineSetResource () |
| IFXRESULT | BuildMeshGroup () |
| IFXRESULT | BuildNeighborMesh () |
| IFXRESULT | BuildNeighborResController () |
| void | ClearMeshGroup () |
| IFXRESULT | cpl_EvaluateLineSetSizes () |
| IFXRESULT | cpl_AllocateOutput () |
| IFXRESULT | cpl_AllocateLineSetMap () |
| IFXRESULT | cpl_AllocateVertexHashAndVertexDescQuery () |
| IFXRESULT | cpl_Compile () |
| IFXRESULT | cpl_FindAndBuildVertex (U32 corner, U32 authorLineIndex, U32 mat, U32 *pOutIFXIndex) |
| IFXRESULT | cpl_Clean () |
| | IFXDECLAREMEMBER (IFXDataBlockQueueX, m_pDataBlockQueueX) |
Private Attributes |
| U32 | m_uRefCount |
| U32 | m_uTransformDataElementIndex |
| U32 | m_uRenderableGroupDataElementIndex |
| U32 | m_uNeighborResControllerDataElementIndex |
| U32 | m_uNeighborMeshDataElementIndex |
| U32 | m_uBoundSphereDataElementIndex |
| U32 | m_uBonesManagerDataElementIndex |
| IFXAuthorLineSet * | m_pAuthorLineSet |
| IFXVector3 * | m_pPositions |
| IFXVector3 * | m_pNormals |
| IFXVector4 * | m_pTextures |
| IFXVector4 * | m_pSpeculars |
| IFXVector4 * | m_pDiffuses |
| U32 * | m_pLineMaterials |
| IFXU32Line * | m_pPositionLines |
| IFXU32Line * | m_pNormalLines |
| IFXU32Line * | m_pTextureLines [IFX_MAX_TEXUNITS] |
| IFXU32Line * | m_pSpecularLines |
| IFXU32Line * | m_pDiffuseLines |
| U32 | m_numMaterials |
| U32 | m_numLineSetLines |
| IFXLineSetSize * | m_pLineSetSizes |
| IFXAuthorMaterial * | m_pMaterials |
| BOOL | m_bMeshGroupDirty |
| IFXMeshGroup * | m_pMeshGroup |
| IFXNeighborMesh * | m_pNeighborMesh |
| IFXUpdatesGroup * | m_pUpdatesGroup |
| BOOL | m_bBuiltNeighborMesh |
| IFXNeighborResControllerInterface * | m_pNeighborResController |
| VertexDescriptor * | m_pQV |
| VertexHash * | m_pVertexHash |
| IFXMeshMap * | m_pAuthorLineSetMap |
| IFXMeshMap * | m_pRenderLineSetMap |
| IFXVertexIter * | m_pIteratorCache |
| IFXVertexMap * | m_pLineMap |
| IFXVertexMap * | m_pPositionMap |
| IFXVertexMap * | m_pNormalMap |
| IFXVertexMap * | m_pTextureMap |
| IFXVertexMap * | m_pDiffuseMap |
| IFXVertexMap * | m_pSpecularMap |
| IFXArray< IFXMatrix4x4 > | m_transform |
| IFXBoundSphereDataElement * | m_pBoundSphereDataElement |
| IFXSkeleton * | m_pBones |
Friends |
| IFXRESULT IFXAPI_CALLTYPE | CIFXAuthorLineSetResource_Factory (IFXREFIID interfaceId, void **ppInterface) |
Classes |
| class | VertexDescriptor |
| class | VertexHash |
Constructor & Destructor Documentation
| CIFXAuthorLineSetResource::CIFXAuthorLineSetResource |
( |
|
) |
[private] |
|
| CIFXAuthorLineSetResource::~CIFXAuthorLineSetResource |
( |
|
) |
[private, virtual] |
|
Member Function Documentation
| U32 CIFXAuthorLineSetResource::AddRef |
( |
|
) |
[virtual] |
|
|
|
This method increments the reference count for an interface on a component.
- Note:
- It should be called for every new copy of a pointer to an interface on a given component.
- Returns:
- It returns a U32 that contains a value from 1 to 2^32 - 1 that defines the new reference count. The return value should only be used for debugging purposes.
Implements IFXUnknown. |
| IFXRESULT CIFXAuthorLineSetResource::BuildDataBlockQueue |
( |
|
) |
[virtual] |
|
| IFXRESULT CIFXAuthorLineSetResource::BuildMeshGroup |
( |
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::BuildNeighborMesh |
( |
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::BuildNeighborResController |
( |
|
) |
[private] |
|
| void CIFXAuthorLineSetResource::ClearMeshGroup |
( |
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::cpl_AllocateLineSetMap |
( |
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::cpl_AllocateOutput |
( |
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::cpl_AllocateVertexHashAndVertexDescQuery |
( |
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::cpl_Clean |
( |
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::cpl_Compile |
( |
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::cpl_EvaluateLineSetSizes |
( |
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::cpl_FindAndBuildVertex |
( |
U32 |
corner, |
|
|
U32 |
authorLineIndex, |
|
|
U32 |
mat, |
|
|
U32 * |
pOutIFXIndex |
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::GenerateOutput |
( |
U32 |
inOutputDataElementIndex, |
|
|
void *& |
rpOutData, |
|
|
BOOL & |
rNeedRelease |
|
) |
[virtual] |
|
|
|
- Todo:
- : this call is expensive - should be caching the bounding sphere from the last call to the build mesh group
Implements CIFXModifier. |
| IFXRESULT CIFXAuthorLineSetResource::GetAuthorLineSet |
( |
IFXAuthorLineSet *& |
rpAuthorLineSet |
) |
[virtual] |
|
| IFXRESULT CIFXAuthorLineSetResource::GetAuthorMeshMap |
( |
IFXMeshMap ** |
ppAuthorLineSethMap |
) |
|
|
| IFXSkeleton* IFXAPI CIFXAuthorLineSetResource::GetBones |
( |
void |
|
) |
[inline, virtual] |
|
| const IFXVector4& IFXAPI CIFXAuthorLineSetResource::GetBoundingSphere |
( |
|
) |
[inline, virtual] |
|
| void CIFXAuthorLineSetResource::GetDataBlockQueueX |
( |
IFXDataBlockQueueX *& |
rpDataBlockQueueX |
) |
[virtual] |
|
| IFXRESULT CIFXAuthorLineSetResource::GetDependencies |
( |
IFXGUID * |
pInOutputDID, |
|
|
IFXGUID **& |
rppOutInputDependencies, |
|
|
U32 & |
rOutNumberInputDependencies, |
|
|
IFXGUID **& |
rppOutOutputDependencies, |
|
|
U32 & |
rOutNumberOfOutputDependencies, |
|
|
U32 *& |
rpOutOutputDepAttrs |
|
) |
[virtual] |
|
|
|
Hands back the list of input DataElements and the list of output DataElements, by which, the result of the specified pInOutputDID is determined.
- Parameters:
-
| pInOutputDID | One of the Modifier's output DIDs in the list handed back from GetOutputs(). |
| rppOutInputDependencies | The pointer to contain the address of the list of input DIDs, by which, the specified output is determined. |
| rOutNumberInputDependencies | The U32 to contain the number of GUIDs in rppOutInputDependencies. |
| rppOutOutputDependencies | The pointer to contain the address of the list related output DIDs. |
| ruOutNumberOfOutputDependencies | The U32 to contain the number of GUIDs in rppOutOutputDependencies. |
- Returns:
- Upon success, IFX_OK is returned.
- Note:
- The Modifier is responsible for the lifetime of the list.
Implements CIFXModifier. |
| void CIFXAuthorLineSetResource::GetEncoderX |
( |
IFXEncoderX *& |
rpEncoderX |
) |
[virtual] |
|
|
|
Function that hands back the IFXEncoderX interface pointer to a component that can be used to encode this component.
- Parameters:
-
| rpEncoderX | Reference to the encoder's interface pointer that will be set to a valid value upon success. |
Implements IFXMarkerX. |
| IFXRESULT CIFXAuthorLineSetResource::GetMeshGroup |
( |
IFXMeshGroup ** |
|
) |
[virtual] |
|
| IFXRESULT CIFXAuthorLineSetResource::GetNeighborMesh |
( |
IFXNeighborMesh ** |
out_ppNeighborMesh |
) |
|
|
| IFXRESULT CIFXAuthorLineSetResource::GetOutputs |
( |
IFXGUID **& |
rpOutOutputs, |
|
|
U32 & |
rOutNumberOfOutputs, |
|
|
U32 *& |
rpOutOutputDepAttrs |
|
) |
[virtual] |
|
|
|
Hands back a pointer to the list of DIDs that the Modifier will add or change.
- Parameters:
-
| rpOutOutputs | The pointer to contain the address of the consecutive list of resultant DataElement GUID pointers. |
| rOutNumberOfOutputs | The U32 to contain the number of GUIDs in the rpOutOutputs. |
| rpOutUnchangedOutputAttrs | The array of U32 attributes which were not changed. |
- Returns:
- Upon success, IFX_OK is returned. Otherwise, one of the following failures are returned: IFX_E_OUT_OF_MEMORY.
- Note:
- This method can be used before, and after, the Modifier is initialized.
The Modifier is responsible for the lifetime of the list.
Implements CIFXModifier. |
| IFXRESULT CIFXAuthorLineSetResource::GetRenderMeshMap |
( |
IFXMeshMap ** |
ppRenderLineSetMap |
) |
[virtual] |
|
| const IFXMatrix4x4& IFXAPI CIFXAuthorLineSetResource::GetTransform |
( |
|
) |
[inline, virtual] |
|
|
|
Retrieves the resource transform of the object.
The resource transform is applied before the model to world transform.
Implements IFXAuthorLineSetResource. |
| IFXRESULT CIFXAuthorLineSetResource::GetUpdatesGroup |
( |
IFXUpdatesGroup ** |
out_ppUpdatesGroup |
) |
|
|
| CIFXAuthorLineSetResource::IFXDECLAREMEMBER |
( |
IFXDataBlockQueueX |
, |
|
|
m_pDataBlockQueueX |
|
|
) |
[private] |
|
| IFXRESULT CIFXAuthorLineSetResource::InvalidateTransform |
( |
|
) |
[virtual] |
|
|
|
This method invalidates the generators transform in the modifier chain.
- Returns:
- IFXRESULT
Implements IFXGenerator. |
| IFXRESULT IFXAPI CIFXAuthorLineSetResource::Notify |
( |
IFXModifierMessage |
eInMessage, |
|
|
void * |
pMessageContext |
|
) |
[inline, virtual] |
|
| IFXRESULT CIFXAuthorLineSetResource::QueryInterface |
( |
IFXREFIID |
riid, |
|
|
void ** |
ppv |
|
) |
[virtual] |
|
|
|
This method provides access to the various interfaces supported by a component.
Upon success, it increments the component's reference count and hands back a pointer to the specified interface.
- Note:
- A number of rules must be adhered to by all implementations of IFXAPI QueryInterface . For a list of such rules, refer to the IFXCOM usage guidelines.
- Returns:
- Upon success, IFX_OK is returned. Otherwise, either IFX_E_INVALID_POINTER or IFX_E_UNSUPPORTED are returned.
Implements IFXUnknown. |
| U32 CIFXAuthorLineSetResource::Release |
( |
|
) |
[virtual] |
|
|
|
This method decrements the reference count for the calling interface on a component.
- Note:
- If the reference count on a component falls to zero, the component is destroyed.
- Returns:
- It returns a U32 that contains a value from 1 to 2^32 - 1 that defines the new reference count. The return value should only be used for debugging purposes.
Implements IFXUnknown. |
| IFXRESULT CIFXAuthorLineSetResource::SetAuthorLineSet |
( |
IFXAuthorLineSet * |
pAuthorLineSet |
) |
[virtual] |
|
| IFXRESULT CIFXAuthorLineSetResource::SetAuthorMeshMap |
( |
IFXMeshMap * |
pAuthorLineSethMap |
) |
|
|
| IFXRESULT IFXAPI CIFXAuthorLineSetResource::SetBones |
( |
IFXSkeleton * |
pBonesGen |
) |
[inline, virtual] |
|
| IFXRESULT IFXAPI CIFXAuthorLineSetResource::SetBoundingSphere |
( |
const IFXVector4 & |
rBoundingSphere |
) |
[inline, virtual] |
|
|
|
Associates a new DataPacket with the Modifier.
- Precondition:
- None.
- Postcondition:
- The provided DataPacket is associated with the Modifier. If the Modifier was already associated with a DataPacket, it is first released.
- Parameters:
-
| pInDataPacket | The incoming IFXDataPacket That will provide input to the modifier chain. |
| pInDataPacket | The incoming IFXDataPacket to be associated with the Modifier. |
- Returns:
- Upon success, IFX_OK is returned. Otherwise, one of the following failures are returned: IFX_E_OUT_OF_MEMORY.
Implements CIFXModifier. |
| IFXRESULT CIFXAuthorLineSetResource::SetRenderMeshMap |
( |
IFXMeshMap * |
pRenderLineSetMap |
) |
[virtual] |
|
| IFXRESULT CIFXAuthorLineSetResource::SetSceneGraph |
( |
IFXSceneGraph * |
pInSceneGraph |
) |
[virtual] |
|
|
|
Declares database ownership.
Reimplemented from CIFXMarker. |
| IFXRESULT CIFXAuthorLineSetResource::SetTransform |
( |
const IFXMatrix4x4 & |
rTransform |
) |
[virtual] |
|
|
|
Sets the resource transform.
The resource transform is applied before the model to world transform.
Implements IFXAuthorLineSetResource. |
| IFXRESULT CIFXAuthorLineSetResource::Transfer |
( |
|
) |
[virtual] |
|
Friends And Related Function Documentation
| IFXRESULT IFXAPI_CALLTYPE CIFXAuthorLineSetResource_Factory |
( |
IFXREFIID |
interfaceId, |
|
|
void ** |
ppInterface |
|
) |
[friend] |
|
Member Data Documentation
© 1999 - 2006 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.
|
|


404
Oops. You have encountered an error.
We're sorry, but the page you were looking for doesn't exist.
Go back to home


In this project, you'll classify images from the CIFAR-10 dataset. The dataset consists of airplanes, dogs, cats, and other objects. You'll preprocess the images, then train a convolutional neural network on all the samples. The images need to be normalized and the labels need to be one-hot encoded. You'll get to apply what you learned and build a convolutional, max pooling, dropout, and fully connected layers. At the end, you'll get to see your neural network's predictions on the sample images.
Run the following cell to download the CIFAR-10 dataset for python.
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
from urllib.request import urlretrieve
from os.path import isfile, isdir
from tqdm import tqdm
import problem_unittests as tests
import tarfile
cifar10_dataset_folder_path = 'cifar-10-batches-py'
class DLProgress(tqdm):
last_block = 0
def hook(self, block_num=1, block_size=1, total_size=None):
self.total = total_size
self.update((block_num - self.last_block) * block_size)
self.last_block = block_num
if not isfile('cifar-10-python.tar.gz'):
with DLProgress(unit='B', unit_scale=True, miniters=1, desc='CIFAR-10 Dataset') as pbar:
urlretrieve(
'https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz',
'cifar-10-python.tar.gz',
pbar.hook)
if not isdir(cifar10_dataset_folder_path):
with tarfile.open('cifar-10-python.tar.gz') as tar:
tar.extractall()
tar.close()
tests.test_folder_path(cifar10_dataset_folder_path)
CIFAR-10 Dataset: 171MB [03:53, 731KB/s]
All files found!
The dataset is broken into batches to prevent your machine from running out of memory. The CIFAR-10 dataset consists of 5 batches, named data_batch_1
, data_batch_2
, etc.. Each batch contains the labels and images that are one of the following:
Understanding a dataset is part of making predictions on the data. Play around with the code cell below by changing the batch_id
and sample_id
. The batch_id
is the id for a batch (1-5). The sample_id
is the id for a image and label pair in the batch.
Ask yourself "What are all possible labels?", "What is the range of values for the image data?", "Are the labels in order or random?". Answers to questions like these will help you preprocess the data and end up with better predictions.
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
import helper
import numpy as np
# Explore the dataset
batch_id = 2
sample_id = 500
helper.display_stats(cifar10_dataset_folder_path, batch_id, sample_id)
Stats of batch 2: Samples: 10000 Label Counts: {0: 984, 1: 1007, 2: 1010, 3: 995, 4: 1010, 5: 988, 6: 1008, 7: 1026, 8: 987, 9: 985} First 20 Labels: [1, 6, 6, 8, 8, 3, 4, 6, 0, 6, 0, 3, 6, 6, 5, 4, 8, 3, 2, 6] Example of Image 500: Image - Min Value: 13 Max Value: 218 Image - Shape: (32, 32, 3) Label - Label Id: 4 Name: deer
def normalize(x):
"""
Normalize a list of sample image data in the range of 0 to 1
: x: List of image data. The image shape is (32, 32, 3)
: return: Numpy array of normalize data
"""
# TODO: Implement Function
max = np.max(x)
min = np.min(x)
scale = max - min
return (x - min) / scale
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_normalize(normalize)
Tests Passed
Just like the previous code cell, you'll be implementing a function for preprocessing. This time, you'll implement the one_hot_encode
function. The input, x
, are a list of labels. Implement the function to return the list of labels as One-Hot encoded Numpy array. The possible values for labels are 0 to 9. The one-hot encoding function should return the same encoding for each value between each call to one_hot_encode
. Make sure to save the map of encodings outside the function.
Hint: Don't reinvent the wheel.
from sklearn.preprocessing import LabelBinarizer
label_count = 10
one_hot_encoder = LabelBinarizer()
one_hot_encoder.fit(list(range(label_count)))
def one_hot_encode(y):
"""
One hot encode a list of sample labels. Return a one-hot encoded vector for each label.
: x: List of sample Labels
: return: Numpy array of one-hot encoded labels
"""
# TODO: Implement Function
one_hots = one_hot_encoder.transform(y)
return one_hots
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_one_hot_encode(one_hot_encode)
Tests Passed
As you saw from exploring the data above, the order of the samples are randomized. It doesn't hurt to randomize it again, but you don't need to for this dataset.
Running the code cell below will preprocess all the CIFAR-10 data and save it to file. The code below also uses 10% of the training data for validation.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
# Preprocess Training, Validation, and Testing Data
helper.preprocess_and_save_data(cifar10_dataset_folder_path, normalize, one_hot_encode)
This is your first checkpoint. If you ever decide to come back to this notebook or have to restart the notebook, you can start from here. The preprocessed data has been saved to disk.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import pickle
import problem_unittests as tests
import helper
# Load the Preprocessed Validation data
valid_features, valid_labels = pickle.load(open('preprocess_validation.p', mode='rb'))
For the neural network, you'll build each layer into a function. Most of the code you've seen has been outside of functions. To test your code more thoroughly, we require that you put each layer in a function. This allows us to give you better feedback and test for simple mistakes using our unittests before you submit your project.
If you're finding it hard to dedicate enough time for this course a week, we've provided a small shortcut to this part of the project. In the next couple of problems, you'll have the option to use TensorFlow Layers or TensorFlow Layers (contrib) to build each layer, except "Convolutional & Max Pooling" layer. TF Layers is similar to Keras's and TFLearn's abstraction to layers, so it's easy to pickup.
If you would like to get the most of this course, try to solve all the problems without TF Layers. Let's begin!
The neural network needs to read the image data, one-hot encoded labels, and dropout keep probability. Implement the following functions
neural_net_image_input
image_shape
with batch size set to None
.name
parameter in the TF Placeholder.neural_net_label_input
n_classes
with batch size set to None
.name
parameter in the TF Placeholder.neural_net_keep_prob_input
name
parameter in the TF Placeholder.These names will be used at the end of the project to load your saved model.
Note: None
for shapes in TensorFlow allow for a dynamic size.
import tensorflow as tf
def neural_net_image_input(image_shape):
"""
Return a Tensor for a batch of image input
: image_shape: Shape of the images
: return: Tensor for image input.
"""
# TODO: Implement Function
shape_with_batch = (None,) + image_shape
#print(shape_with_batch)
return tf.placeholder(tf.float32, shape=shape_with_batch, name='x')
def neural_net_label_input(n_classes):
"""
Return a Tensor for a batch of label input
: n_classes: Number of classes
: return: Tensor for label input.
"""
# TODO: Implement Function
return tf.placeholder(tf.float32, shape=(None, n_classes), name='y')
def neural_net_keep_prob_input():
"""
Return a Tensor for keep probability
: return: Tensor for keep probability.
 Label Input Tests Passed. Keep Prob Tests Passed.
Convolution layers have a lot of success with images. For this code cell, you should implement the function conv2d_maxpool
to apply convolution then max pooling:
conv_ksize
, conv_num_outputs
and the shape of x_tensor
.x_tensor
using weight and conv_strides
.pool_ksize
and pool_strides
.Note: You can't use TensorFlow Layers or TensorFlow Layers (contrib) for this layer. You're free to use any TensorFlow package for all the other layers.
import re
def conv2d_maxpool(x_tensor, conv_num_outputs, conv_ksize, conv_strides, pool_ksize, pool_strides):
"""
Apply convolution then max pooling to x_tensor
:param x_tensor: TensorFlow Tensor
:param conv_num_outputs: Number of outputs for the convolutional layer
:param conv_strides: Stride 2-D Tuple for convolution
:param pool_ksize: kernal size 2-D Tuple for pool
:param pool_strides: Stride 2-D Tuple for pool
: return: A tensor that represents convolution and max pooling of x_tensor
"""
# TODO: Implement Function
x_size = x_tensor.get_shape().as_list()
x_base_name = re.sub(':.*', '', x_tensor.name)
input_channels = x_size[3]
weights_name = x_base_name + '_weights'
biases_name = x_base_name + '_biases'
conv_weights = tf.Variable(tf.random_normal(conv_ksize + (input_channels, conv_num_outputs)),
name=weights_name)
conv_biases = tf.Variable(tf.zeros(conv_num_outputs), name=biases_name)
conv = tf.nn.conv2d(x_tensor, conv_weights, (1,) + conv_strides + (1,), 'SAME')
conv = tf.add(conv, conv_biases)
conv = tf.nn.relu(conv)
conv = tf.nn.max_pool(conv, (1,) + pool_ksize + (1,), (1,) + pool_strides + (1,), 'SAME')
return conv
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_con_pool(conv2d_maxpool)
Tests Passed
Implement the flatten
function to change the dimension of x_tensor
from a 4-D tensor to a 2-D tensor. The output should be the shape (Batch Size, Flattened Image Size). You can use TensorFlow Layers or TensorFlow Layers (contrib) for this layer.
def flatten(x_tensor):
"""
Flatten x_tensor to (Batch Size, Flattened Image Size)
: x_tensor: A tensor of size (Batch Size, ...), where ... are the image dimensions.
: return: A tensor of size (Batch Size, Flattened Image Size).
 You can use TensorFlow Layers or TensorFlow Layers (contrib) for this layer.
def fully_conn(x_tensor, num_outputs):
"""
Apply a fully connected layer to x_tensor using weight and bias
: x_tensor: A 2-D tensor where the first dimension is batch size.
: num_outputs: The number of output that the new tensor should be.
: return: A 2-D tensor where the second dimension is num_outputs.
 You can use TensorFlow Layers or TensorFlow Layers (contrib) for this layer.
Note: Activation, softmax, or cross entropy shouldn't be applied to this.
def output(x_tensor, num_outputs):
"""
Apply a output layer to x_tensor using weight and bias
: x_tensor: A 2-D tensor where the first dimension is batch size.
: num_outputs: The number of output that the new tensor should be.
: return: A 2-D tensor where the second dimension is num_outputs.
 The function takes in a batch of images, x
, and outputs logits. Use the layers you created above to create this model:
keep_prob
. label_count = 10
def conv_net(x, keep_prob):
"""
Create a convolutional neural network model
: x: Placeholder tensor that holds image data.
: keep_prob: Placeholder tensor that hold dropout keep probability.
: return: Tensor that represents logits
"""
# TODO: Apply 1, 2, or 3 Convolution and Max Pool layers
# Play around with different number of outputs, kernel size and stride
# Function Definition from Above:
# conv2d_maxpool(x_tensor, conv_num_outputs, conv_ksize, conv_strides, pool_ksize, pool_strides)
model = conv2d_maxpool(x, 8, (6, 6), (1, 1), (2, 2), (2, 2))
#model = tf.nn.dropout(model, keep_prob)
model = conv2d_maxpool(model, 16, (2, 2), (1, 1), (2, 2), (1, 1))
#model = tf.nn.dropout(model, keep_prob)
model = conv2d_maxpool(model, 96, (1, 1), (1, 1), (1, 1), (1, 1))
model = tf.nn.dropout(model, keep_prob)
# TODO: Apply a Flatten Layer
# Function Definition from Above:
# flatten(x_tensor)
model = flatten(model)
# TODO: Apply 1, 2, or 3 Fully Connected Layers
# Play around with different number of outputs
# Function Definition from Above:
# fully_conn(x_tensor, num_outputs)
model = fully_conn(model, 512)
#model = tf.nn.dropout(model, keep_prob)
model = fully_conn(model, 256)
#model = tf.nn.dropout(model, keep_prob)
model = fully_conn(model, 128)
#model = tf.nn.dropout(model, keep_prob)
# TODO: Apply an Output Layer
# Set this to the number of classes
# Function Definition from Above:
# output(x_tensor, num_outputs)
model = output(model, label_count)
# TODO: return output
return model
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
##############################
## Build the Neural Network ##
##############################
# Remove previous weights, bias, inputs, etc..
tf.reset_default_graph()
# Inputs
x = neural_net_image_input((32, 32, 3))
y = neural_net_label_input(10)
keep_prob = neural_net_keep_prob_input()
# Model
logits = conv_net(x, keep_prob)
# Name logits Tensor, so that is can be loaded from disk after training
logits = tf.identity(logits, name='logits')
# Loss and Optimizer
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=y))
optimizer = tf.train.AdamOptimizer().minimize(cost)
# Accuracy
correct_pred = tf.equal(tf.argmax(logits, 1), tf.argmax(y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32), name='accuracy')
tests.test_conv_net(conv_net)
Neural Network Built!
Implement the function train_neural_network
to do a single optimization. The optimization should use optimizer
to optimize in session
with a feed_dict
of the following:
x
for image inputy
for labelskeep_prob
for keep probability for dropoutThis function will be called for each batch, so tf.global_variables_initializer()
has already been called.
Note: Nothing needs to be returned. This function is only optimizing the neural network.
def train_neural_network(session, optimizer, keep_probability, feature_batch, label_batch):
"""
Optimize the session on a batch of images and labels
: session: Current TensorFlow session
: optimizer: TensorFlow optimizer function
: keep_probability: keep probability
: feature_batch: Batch of Numpy image data
: label_batch: Batch of Numpy label data
"""
# TODO: Implement Function
session.run(optimizer, feed_dict={x: feature_batch, y: label_batch,
keep_prob: keep_probability})
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_train_nn(train_neural_network)
Tests Passed
Implement the function print_stats
to print loss and validation accuracy. Use the global variables valid_features
and valid_labels
to calculate validation accuracy. Use a keep probability of 1.0
to calculate the loss and validation accuracy.
def print_stats(session, feature_batch, label_batch, cost, accuracy):
"""
Print information about loss and validation accuracy
: session: Current TensorFlow session
: feature_batch: Batch of Numpy image data
: label_batch: Batch of Numpy label data
: cost: TensorFlow cost function
: accuracy: TensorFlow accuracy function
"""
# TODO: Implement Function
loss, acc = session.run([cost, accuracy], feed_dict={x: feature_batch, y: label_batch, keep_prob: 1.})
valid_loss, valid_acc = session.run([cost, accuracy], feed_dict={x: valid_features, y: valid_labels, keep_prob: 1.})
print("Train Loss= " + \
"{:.6f}".format(loss) + \
", Train Accuracy= " + \
"{:.5f}".format(acc) + \
", Valid. Loss= " + \
"{:.6f}".format(valid_loss) + \
", Valid. Accuracy= " + \
"{:.5f}".format(valid_acc))
Tune the following parameters:
epochs
to the number of iterations until the network stops learning or start overfittingbatch_size
to the highest number that your machine has memory for. Most people set them to common sizes of memory:keep_probability
to the probability of keeping a node using dropout# TODO: Tune Parameters
epochs = 250
batch_size = 2048
keep_probability = 0.2
Instead of training the neural network on all the CIFAR-10 batches of data, let's use a single batch. This should save time while you iterate on the model to get a better accuracy. Once the final validation accuracy is 50% or greater, run the model on all the data in the next section.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
print('Checking the Training on a Single Batch...')
with tf.Session() as sess:
# Initializing the variables
sess.run(tf.global_variables_initializer())
# Training cycle
for epoch in range(epochs):
batch_i = 1
for batch_features, batch_labels in helper.load_preprocess_training_batch(batch_i, batch_size):
train_neural_network(sess, optimizer, keep_probability, batch_features, batch_labels)
print('Epoch {:>2}, CIFAR-10 Batch {}: '.format(epoch + 1, batch_i), end='')
print_stats(sess, batch_features, batch_labels, cost, accuracy)
Checking the Training on a Single Batch... Epoch 1, CIFAR-10 Batch 1: Train Loss= 1165.789795, Train Accuracy= 0.10272, Valid. Loss= 1137.383789, Valid. Accuracy= 0.09780 Epoch 2, CIFAR-10 Batch 1: Train Loss= 900.446472, Train Accuracy= 0.08911, Valid. Loss= 881.307068, Valid. Accuracy= 0.10200 Epoch 3, CIFAR-10 Batch 1: Train Loss= 299.200348, Train Accuracy= 0.08911, Valid. Loss= 300.135468, Valid. Accuracy= 0.09760 Epoch 4, CIFAR-10 Batch 1: Train Loss= 112.273590, Train Accuracy= 0.12995, Valid. Loss= 112.441727, Valid. Accuracy= 0.13040 Epoch 5, CIFAR-10 Batch 1: Train Loss= 100.245697, Train Accuracy= 0.09653, Valid. Loss= 106.106979, Valid. Accuracy= 0.09580 Epoch 6, CIFAR-10 Batch 1: Train Loss= 51.503674, Train Accuracy= 0.13119, Valid. Loss= 54.258823, Valid. Accuracy= 0.12020 Epoch 7, CIFAR-10 Batch 1: Train Loss= 39.919666, Train Accuracy= 0.12624, Valid. Loss= 39.589783, Valid. Accuracy= 0.12940 Epoch 8, CIFAR-10 Batch 1: Train Loss= 27.654629, Train Accuracy= 0.13985, Valid. Loss= 27.276844, Valid. Accuracy= 0.12700 Epoch 9, CIFAR-10 Batch 1: Train Loss= 21.553146, Train Accuracy= 0.18688, Valid. Loss= 21.489815, Valid. Accuracy= 0.16500 Epoch 10, CIFAR-10 Batch 1: Train Loss= 14.647681, Train Accuracy= 0.15223, Valid. Loss= 15.005530, Valid. Accuracy= 0.14640 Epoch 11, CIFAR-10 Batch 1: Train Loss= 9.068078, Train Accuracy= 0.25124, Valid. Loss= 9.559205, Valid. Accuracy= 0.24240 Epoch 12, CIFAR-10 Batch 1: Train Loss= 7.337513, Train Accuracy= 0.29827, Valid. Loss= 7.832205, Valid. Accuracy= 0.27520 Epoch 13, CIFAR-10 Batch 1: Train Loss= 6.152930, Train Accuracy= 0.30817, Valid. Loss= 6.845146, Valid. Accuracy= 0.27580 Epoch 14, CIFAR-10 Batch 1: Train Loss= 5.148095, Train Accuracy= 0.33045, Valid. Loss= 5.796183, Valid. Accuracy= 0.31020 Epoch 15, CIFAR-10 Batch 1: Train Loss= 5.515745, Train Accuracy= 0.32673, Valid. Loss= 6.334088, Valid. Accuracy= 0.29120 Epoch 16, CIFAR-10 Batch 1: Train Loss= 4.290441, Train Accuracy= 0.37748, Valid. Loss= 5.111002, Valid. Accuracy= 0.32020 Epoch 17, CIFAR-10 Batch 1: Train Loss= 4.909805, Train Accuracy= 0.37005, Valid. Loss= 5.617151, Valid. Accuracy= 0.33160 Epoch 18, CIFAR-10 Batch 1: Train Loss= 3.818123, Train Accuracy= 0.40965, Valid. Loss= 4.721657, Valid. Accuracy= 0.36440 Epoch 19, CIFAR-10 Batch 1: Train Loss= 3.804418, Train Accuracy= 0.40965, Valid. Loss= 4.762202, Valid. Accuracy= 0.37140 Epoch 20, CIFAR-10 Batch 1: Train Loss= 3.932592, Train Accuracy= 0.42327, Valid. Loss= 4.913244, Valid. Accuracy= 0.35740 Epoch 21, CIFAR-10 Batch 1: Train Loss= 5.287338, Train Accuracy= 0.35891, Valid. Loss= 6.376863, Valid. Accuracy= 0.28440 Epoch 22, CIFAR-10 Batch 1: Train Loss= 3.553283, Train Accuracy= 0.42574, Valid. Loss= 4.708108, Valid. Accuracy= 0.37240 Epoch 23, CIFAR-10 Batch 1: Train Loss= 2.854268, Train Accuracy= 0.47030, Valid. Loss= 3.997967, Valid. Accuracy= 0.38760 Epoch 24, CIFAR-10 Batch 1: Train Loss= 2.600993, Train Accuracy= 0.48886, Valid. Loss= 3.590280, Valid. Accuracy= 0.41520 Epoch 25, CIFAR-10 Batch 1: Train Loss= 3.390084, Train Accuracy= 0.45297, Valid. Loss= 4.479515, Valid. Accuracy= 0.36940 Epoch 26, CIFAR-10 Batch 1: Train Loss= 2.708568, Train Accuracy= 0.48639, Valid. Loss= 3.904678, Valid. Accuracy= 0.40480 Epoch 27, CIFAR-10 Batch 1: Train Loss= 2.756536, Train Accuracy= 0.49134, Valid. Loss= 4.012541, Valid. Accuracy= 0.40080 Epoch 28, CIFAR-10 Batch 1: Train Loss= 3.345675, Train Accuracy= 0.49134, Valid. Loss= 4.641537, Valid. Accuracy= 0.38140 Epoch 29, CIFAR-10 Batch 1: Train Loss= 3.411337, Train Accuracy= 0.47649, Valid. Loss= 4.709369, Valid. Accuracy= 0.38300 Epoch 30, CIFAR-10 Batch 1: Train Loss= 2.671482, Train Accuracy= 0.50619, Valid. Loss= 4.048809, Valid. Accuracy= 0.37960 Epoch 31, CIFAR-10 Batch 1: Train Loss= 3.121526, Train Accuracy= 0.50248, Valid. Loss= 4.488041, Valid. Accuracy= 0.40320 Epoch 32, CIFAR-10 Batch 1: Train Loss= 3.237092, Train Accuracy= 0.46782, Valid. Loss= 4.828173, Valid. Accuracy= 0.34620 Epoch 33, CIFAR-10 Batch 1: Train Loss= 7.429924, Train Accuracy= 0.32178, Valid. Loss= 9.010405, Valid. Accuracy= 0.26700 Epoch 34, CIFAR-10 Batch 1: Train Loss= 21.843929, Train Accuracy= 0.19307, Valid. Loss= 23.488670, Valid. Accuracy= 0.17740 Epoch 35, CIFAR-10 Batch 1: Train Loss= 18.048645, Train Accuracy= 0.29208, Valid. Loss= 19.584938, Valid. Accuracy= 0.23800 Epoch 36, CIFAR-10 Batch 1: Train Loss= 28.531876, Train Accuracy= 0.18441, Valid. Loss= 29.967495, Valid. Accuracy= 0.18340 Epoch 37, CIFAR-10 Batch 1: Train Loss= 19.792810, Train Accuracy= 0.21163, Valid. Loss= 22.942469, Valid. Accuracy= 0.16620 Epoch 38, CIFAR-10 Batch 1: Train Loss= 15.610234, Train Accuracy= 0.27599, Valid. Loss= 17.215824, Valid. Accuracy= 0.21140 Epoch 39, CIFAR-10 Batch 1: Train Loss= 12.306175, Train Accuracy= 0.33168, Valid. Loss= 13.631487, Valid. Accuracy= 0.30500 Epoch 40, CIFAR-10 Batch 1: Train Loss= 13.287979, Train Accuracy= 0.34158, Valid. Loss= 16.356693, Valid. Accuracy= 0.26620 Epoch 41, CIFAR-10 Batch 1: Train Loss= 8.005140, Train Accuracy= 0.34653, Valid. Loss= 9.636139, Valid. Accuracy= 0.27940 Epoch 42, CIFAR-10 Batch 1: Train Loss= 6.435075, Train Accuracy= 0.45050, Valid. Loss= 8.025726, Valid. Accuracy= 0.33480 Epoch 43, CIFAR-10 Batch 1: Train Loss= 4.083416, Train Accuracy= 0.49257, Valid. Loss= 5.715562, Valid. Accuracy= 0.38060 Epoch 44, CIFAR-10 Batch 1: Train Loss= 3.017313, Train Accuracy= 0.55817, Valid. Loss= 4.849478, Valid. Accuracy= 0.40600 Epoch 45, CIFAR-10 Batch 1: Train Loss= 3.054218, Train Accuracy= 0.54579, Valid. Loss= 4.825913, Valid. Accuracy= 0.38960 Epoch 46, CIFAR-10 Batch 1: Train Loss= 2.430022, Train Accuracy= 0.57797, Valid. Loss= 4.373045, Valid. Accuracy= 0.42920 Epoch 47, CIFAR-10 Batch 1: Train Loss= 2.064961, Train Accuracy= 0.62871, Valid. Loss= 3.752153, Valid. Accuracy= 0.44280 Epoch 48, CIFAR-10 Batch 1: Train Loss= 2.033036, Train Accuracy= 0.60149, Valid. Loss= 3.869030, Valid. Accuracy= 0.42880 Epoch 49, CIFAR-10 Batch 1: Train Loss= 1.601363, Train Accuracy= 0.63490, Valid. Loss= 3.221898, Valid. Accuracy= 0.45500 Epoch 50, CIFAR-10 Batch 1: Train Loss= 1.580325, Train Accuracy= 0.63366, Valid. Loss= 3.231421, Valid. Accuracy= 0.45000 Epoch 51, CIFAR-10 Batch 1: Train Loss= 1.429743, Train Accuracy= 0.65347, Valid. Loss= 3.181075, Valid. Accuracy= 0.44240 Epoch 52, CIFAR-10 Batch 1: Train Loss= 1.252938, Train Accuracy= 0.67450, Valid. Loss= 2.918489, Valid. Accuracy= 0.46300 Epoch 53, CIFAR-10 Batch 1: Train Loss= 1.246322, Train Accuracy= 0.67946, Valid. Loss= 2.865373, Valid. Accuracy= 0.46520 Epoch 54, CIFAR-10 Batch 1: Train Loss= 1.149295, Train Accuracy= 0.69307, Valid. Loss= 2.797544, Valid. Accuracy= 0.45980 Epoch 55, CIFAR-10 Batch 1: Train Loss= 1.532956, Train Accuracy= 0.65223, Valid. Loss= 3.262379, Valid. Accuracy= 0.44520 Epoch 56, CIFAR-10 Batch 1: Train Loss= 1.360421, Train Accuracy= 0.66460, Valid. Loss= 2.972296, Valid. Accuracy= 0.44060 Epoch 57, CIFAR-10 Batch 1: Train Loss= 1.819576, Train Accuracy= 0.60149, Valid. Loss= 3.697691, Valid. Accuracy= 0.42560 Epoch 58, CIFAR-10 Batch 1: Train Loss= 1.446996, Train Accuracy= 0.65470, Valid. Loss= 3.111135, Valid. Accuracy= 0.44200 Epoch 59, CIFAR-10 Batch 1: Train Loss= 1.594314, Train Accuracy= 0.66089, Valid. Loss= 3.340827, Valid. Accuracy= 0.41800 Epoch 60, CIFAR-10 Batch 1: Train Loss= 1.290285, Train Accuracy= 0.68441, Valid. Loss= 2.987560, Valid. Accuracy= 0.43940 Epoch 61, CIFAR-10 Batch 1: Train Loss= 2.212477, Train Accuracy= 0.59035, Valid. Loss= 4.050931, Valid. Accuracy= 0.38140 Epoch 62, CIFAR-10 Batch 1: Train Loss= 2.993285, Train Accuracy= 0.55446, Valid. Loss= 4.987947, Valid. Accuracy= 0.34680 Epoch 63, CIFAR-10 Batch 1: Train Loss= 2.426289, Train Accuracy= 0.53094, Valid. Loss= 4.275201, Valid. Accuracy= 0.36020 Epoch 64, CIFAR-10 Batch 1: Train Loss= 2.153275, Train Accuracy= 0.58416, Valid. Loss= 4.219387, Valid. Accuracy= 0.38640 Epoch 65, CIFAR-10 Batch 1: Train Loss= 1.590921, Train Accuracy= 0.62871, Valid. Loss= 3.237814, Valid. Accuracy= 0.41760 Epoch 66, CIFAR-10 Batch 1: Train Loss= 1.373437, Train Accuracy= 0.65842, Valid. Loss= 3.247771, Valid. Accuracy= 0.41520 Epoch 67, CIFAR-10 Batch 1: Train Loss= 1.795488, Train Accuracy= 0.62252, Valid. Loss= 3.625470, Valid. Accuracy= 0.42720 Epoch 68, CIFAR-10 Batch 1: Train Loss= 3.732484, Train Accuracy= 0.55074, Valid. Loss= 5.578963, Valid. Accuracy= 0.36840 Epoch 69, CIFAR-10 Batch 1: Train Loss= 5.179343, Train Accuracy= 0.33787, Valid. Loss= 7.265149, Valid. Accuracy= 0.22880 Epoch 70, CIFAR-10 Batch 1: Train Loss= 11.341181, Train Accuracy= 0.38985, Valid. Loss= 14.237466, Valid. Accuracy= 0.27580 Epoch 71, CIFAR-10 Batch 1: Train Loss= 14.858228, Train Accuracy= 0.27970, Valid. Loss= 17.453756, Valid. Accuracy= 0.20080 Epoch 72, CIFAR-10 Batch 1: Train Loss= 10.752059, Train Accuracy= 0.37005, Valid. Loss= 12.586269, Valid. Accuracy= 0.27980 Epoch 73, CIFAR-10 Batch 1: Train Loss= 7.178193, Train Accuracy= 0.39975, Valid. Loss= 8.959640, Valid. Accuracy= 0.27860 Epoch 74, CIFAR-10 Batch 1: Train Loss= 5.178927, Train Accuracy= 0.43688, Valid. Loss= 7.937214, Valid. Accuracy= 0.33120 Epoch 75, CIFAR-10 Batch 1: Train Loss= 3.604165, Train Accuracy= 0.52228, Valid. Loss= 5.840617, Valid. Accuracy= 0.38540 Epoch 76, CIFAR-10 Batch 1: Train Loss= 4.091876, Train Accuracy= 0.46163, Valid. Loss= 6.167495, Valid. Accuracy= 0.33920 Epoch 77, CIFAR-10 Batch 1: Train Loss= 1.765867, Train Accuracy= 0.65965, Valid. Loss= 3.828849, Valid. Accuracy= 0.39160 Epoch 78, CIFAR-10 Batch 1: Train Loss= 1.651568, Train Accuracy= 0.67327, Valid. Loss= 3.678316, Valid. Accuracy= 0.42900 Epoch 79, CIFAR-10 Batch 1: Train Loss= 1.520434, Train Accuracy= 0.66832, Valid. Loss= 3.600218, Valid. Accuracy= 0.41300 Epoch 80, CIFAR-10 Batch 1: Train Loss= 1.224574, Train Accuracy= 0.68441, Valid. Loss= 3.120068, Valid. Accuracy= 0.44260 Epoch 81, CIFAR-10 Batch 1: Train Loss= 0.858254, Train Accuracy= 0.76114, Valid. Loss= 2.655608, Valid. Accuracy= 0.46920 Epoch 82, CIFAR-10 Batch 1: Train Loss= 0.851578, Train Accuracy= 0.76238, Valid. Loss= 2.715260, Valid. Accuracy= 0.44380 Epoch 83, CIFAR-10 Batch 1: Train Loss= 0.824821, Train Accuracy= 0.74752, Valid. Loss= 2.583100, Valid. Accuracy= 0.46280 Epoch 84, CIFAR-10 Batch 1: Train Loss= 0.886215, Train Accuracy= 0.75495, Valid. Loss= 2.676975, Valid. Accuracy= 0.45580 Epoch 85, CIFAR-10 Batch 1: Train Loss= 0.721134, Train Accuracy= 0.78465, Valid. Loss= 2.464707, Valid. Accuracy= 0.46020 Epoch 86, CIFAR-10 Batch 1: Train Loss= 0.641517, Train Accuracy= 0.80198, Valid. Loss= 2.321739, Valid. Accuracy= 0.47940 Epoch 87, CIFAR-10 Batch 1: Train Loss= 0.662823, Train Accuracy= 0.80074, Valid. Loss= 2.377466, Valid. Accuracy= 0.47520 Epoch 88, CIFAR-10 Batch 1: Train Loss= 0.667314, Train Accuracy= 0.78713, Valid. Loss= 2.427758, Valid. Accuracy= 0.46780 Epoch 89, CIFAR-10 Batch 1: Train Loss= 0.725913, Train Accuracy= 0.78342, Valid. Loss= 2.392083, Valid. Accuracy= 0.46260 Epoch 90, CIFAR-10 Batch 1: Train Loss= 0.614714, Train Accuracy= 0.80446, Valid. Loss= 2.312941, Valid. Accuracy= 0.47520 Epoch 91, CIFAR-10 Batch 1: Train Loss= 0.643537, Train Accuracy= 0.79703, Valid. Loss= 2.295361, Valid. Accuracy= 0.46880 Epoch 92, CIFAR-10 Batch 1: Train Loss= 0.724395, Train Accuracy= 0.76856, Valid. Loss= 2.399815, Valid. Accuracy= 0.46020 Epoch 93, CIFAR-10 Batch 1: Train Loss= 0.615294, Train Accuracy= 0.80817, Valid. Loss= 2.273927, Valid. Accuracy= 0.47120 Epoch 94, CIFAR-10 Batch 1: Train Loss= 0.546461, Train Accuracy= 0.82302, Valid. Loss= 2.135565, Valid. Accuracy= 0.47780 Epoch 95, CIFAR-10 Batch 1: Train Loss= 0.739266, Train Accuracy= 0.77228, Valid. Loss= 2.368750, Valid. Accuracy= 0.46220 Epoch 96, CIFAR-10 Batch 1: Train Loss= 0.606871, Train Accuracy= 0.79703, Valid. Loss= 2.237730, Valid. Accuracy= 0.45780 Epoch 97, CIFAR-10 Batch 1: Train Loss= 0.590638, Train Accuracy= 0.80941, Valid. Loss= 2.225592, Valid. Accuracy= 0.46740 Epoch 98, CIFAR-10 Batch 1: Train Loss= 0.570052, Train Accuracy= 0.81064, Valid. Loss= 2.157111, Valid. Accuracy= 0.47280 Epoch 99, CIFAR-10 Batch 1: Train Loss= 0.614133, Train Accuracy= 0.79950, Valid. Loss= 2.241687, Valid. Accuracy= 0.46580 Epoch 100, CIFAR-10 Batch 1: Train Loss= 0.656836, Train Accuracy= 0.78465, Valid. Loss= 2.243341, Valid. Accuracy= 0.44580 Epoch 101, CIFAR-10 Batch 1: Train Loss= 0.553711, Train Accuracy= 0.81931, Valid. Loss= 2.155386, Valid. Accuracy= 0.46260 Epoch 102, CIFAR-10 Batch 1: Train Loss= 0.612256, Train Accuracy= 0.80074, Valid. Loss= 2.166114, Valid. Accuracy= 0.46240 Epoch 103, CIFAR-10 Batch 1: Train Loss= 1.297028, Train Accuracy= 0.69307, Valid. Loss= 3.096110, Valid. Accuracy= 0.40880 Epoch 104, CIFAR-10 Batch 1: Train Loss= 1.260174, Train Accuracy= 0.63985, Valid. Loss= 2.987385, Valid. Accuracy= 0.38780 Epoch 105, CIFAR-10 Batch 1: Train Loss= 0.487645, Train Accuracy= 0.84777, Valid. Loss= 2.102637, Valid. Accuracy= 0.47720 Epoch 106, CIFAR-10 Batch 1: Train Loss= 0.735356, Train Accuracy= 0.75371, Valid. Loss= 2.398045, Valid. Accuracy= 0.45860 Epoch 107, CIFAR-10 Batch 1: Train Loss= 0.673107, Train Accuracy= 0.77723, Valid. Loss= 2.235912, Valid. Accuracy= 0.44920 Epoch 108, CIFAR-10 Batch 1: Train Loss= 0.515470, Train Accuracy= 0.82673, Valid. Loss= 2.124897, Valid. Accuracy= 0.46740 Epoch 109, CIFAR-10 Batch 1: Train Loss= 0.667266, Train Accuracy= 0.76856, Valid. Loss= 2.250517, Valid. Accuracy= 0.44780 Epoch 110, CIFAR-10 Batch 1: Train Loss= 0.543078, Train Accuracy= 0.81931, Valid. Loss= 2.140323, Valid. Accuracy= 0.45920 Epoch 111, CIFAR-10 Batch 1: Train Loss= 0.564338, Train Accuracy= 0.81188, Valid. Loss= 2.122657, Valid. Accuracy= 0.46000 Epoch 112, CIFAR-10 Batch 1: Train Loss= 0.543397, Train Accuracy= 0.82302, Valid. Loss= 2.086268, Valid. Accuracy= 0.48260 Epoch 113, CIFAR-10 Batch 1: Train Loss= 0.626573, Train Accuracy= 0.80941, Valid. Loss= 2.211627, Valid. Accuracy= 0.46160 Epoch 114, CIFAR-10 Batch 1: Train Loss= 0.506591, Train Accuracy= 0.84035, Valid. Loss= 2.081742, Valid. Accuracy= 0.46760 Epoch 115, CIFAR-10 Batch 1: Train Loss= 0.467843, Train Accuracy= 0.84777, Valid. Loss= 2.025981, Valid. Accuracy= 0.46900 Epoch 116, CIFAR-10 Batch 1: Train Loss= 0.442401, Train Accuracy= 0.85272, Valid. Loss= 1.984210, Valid. Accuracy= 0.47100 Epoch 117, CIFAR-10 Batch 1: Train Loss= 0.529621, Train Accuracy= 0.82550, Valid. Loss= 2.142778, Valid. Accuracy= 0.45560 Epoch 118, CIFAR-10 Batch 1: Train Loss= 0.639592, Train Accuracy= 0.80817, Valid. Loss= 2.267614, Valid. Accuracy= 0.45980 Epoch 119, CIFAR-10 Batch 1: Train Loss= 1.034073, Train Accuracy= 0.66460, Valid. Loss= 2.816435, Valid. Accuracy= 0.39340 Epoch 120, CIFAR-10 Batch 1: Train Loss= 0.620311, Train Accuracy= 0.77970, Valid. Loss= 2.229722, Valid. Accuracy= 0.44620 Epoch 121, CIFAR-10 Batch 1: Train Loss= 2.239321, Train Accuracy= 0.58416, Valid. Loss= 4.203098, Valid. Accuracy= 0.33560 Epoch 122, CIFAR-10 Batch 1: Train Loss= 9.289686, Train Accuracy= 0.23020, Valid. Loss= 11.815887, Valid. Accuracy= 0.15420 Epoch 123, CIFAR-10 Batch 1: Train Loss= 7.640191, Train Accuracy= 0.52228, Valid. Loss= 9.380444, Valid. Accuracy= 0.36440 Epoch 124, CIFAR-10 Batch 1: Train Loss= 3.187053, Train Accuracy= 0.59530, Valid. Loss= 5.326766, Valid. Accuracy= 0.37760 Epoch 125, CIFAR-10 Batch 1: Train Loss= 4.494853, Train Accuracy= 0.48144, Valid. Loss= 6.958204, Valid. Accuracy= 0.32020 Epoch 126, CIFAR-10 Batch 1: Train Loss= 4.096977, Train Accuracy= 0.53465, Valid. Loss= 6.197591, Valid. Accuracy= 0.35540 Epoch 127, CIFAR-10 Batch 1: Train Loss= 4.908288, Train Accuracy= 0.40470, Valid. Loss= 6.966199, Valid. Accuracy= 0.30360 Epoch 128, CIFAR-10 Batch 1: Train Loss= 3.108435, Train Accuracy= 0.50124, Valid. Loss= 5.471669, Valid. Accuracy= 0.34440 Epoch 129, CIFAR-10 Batch 1: Train Loss= 2.065112, Train Accuracy= 0.64109, Valid. Loss= 4.199365, Valid. Accuracy= 0.43040 Epoch 130, CIFAR-10 Batch 1: Train Loss= 2.096389, Train Accuracy= 0.63861, Valid. Loss= 3.977216, Valid. Accuracy= 0.41940 Epoch 131, CIFAR-10 Batch 1: Train Loss= 1.088032, Train Accuracy= 0.71040, Valid. Loss= 3.077383, Valid. Accuracy= 0.40380 Epoch 132, CIFAR-10 Batch 1: Train Loss= 1.007216, Train Accuracy= 0.72649, Valid. Loss= 2.914977, Valid. Accuracy= 0.43340 Epoch 133, CIFAR-10 Batch 1: Train Loss= 0.649223, Train Accuracy= 0.80322, Valid. Loss= 2.505403, Valid. Accuracy= 0.44840 Epoch 134, CIFAR-10 Batch 1: Train Loss= 0.600449, Train Accuracy= 0.79579, Valid. Loss= 2.440388, Valid. Accuracy= 0.46500 Epoch 135, CIFAR-10 Batch 1: Train Loss= 0.526539, Train Accuracy= 0.82054, Valid. Loss= 2.269372, Valid. Accuracy= 0.46880 Epoch 136, CIFAR-10 Batch 1: Train Loss= 0.506596, Train Accuracy= 0.83168, Valid. Loss= 2.239283, Valid. Accuracy= 0.46860 Epoch 137, CIFAR-10 Batch 1: Train Loss= 0.487686, Train Accuracy= 0.84035, Valid. Loss= 2.143775, Valid. Accuracy= 0.48660 Epoch 138, CIFAR-10 Batch 1: Train Loss= 0.448955, Train Accuracy= 0.85767, Valid. Loss= 2.049754, Valid. Accuracy= 0.47660 Epoch 139, CIFAR-10 Batch 1: Train Loss= 0.450830, Train Accuracy= 0.84901, Valid. Loss= 2.091406, Valid. Accuracy= 0.48080 Epoch 140, CIFAR-10 Batch 1: Train Loss= 0.415486, Train Accuracy= 0.85767, Valid. Loss= 1.994420, Valid. Accuracy= 0.47420 Epoch 141, CIFAR-10 Batch 1: Train Loss= 0.365377, Train Accuracy= 0.87500, Valid. Loss= 1.950602, Valid. Accuracy= 0.48980 Epoch 142, CIFAR-10 Batch 1: Train Loss= 0.364840, Train Accuracy= 0.87748, Valid. Loss= 1.956708, Valid. Accuracy= 0.48600 Epoch 143, CIFAR-10 Batch 1: Train Loss= 0.367047, Train Accuracy= 0.88119, Valid. Loss= 1.933763, Valid. Accuracy= 0.48720 Epoch 144, CIFAR-10 Batch 1: Train Loss= 0.400099, Train Accuracy= 0.87252, Valid. Loss= 1.944237, Valid. Accuracy= 0.48040 Epoch 145, CIFAR-10 Batch 1: Train Loss= 0.410132, Train Accuracy= 0.86634, Valid. Loss= 1.937466, Valid. Accuracy= 0.48700 Epoch 146, CIFAR-10 Batch 1: Train Loss= 0.349462, Train Accuracy= 0.88985, Valid. Loss= 1.880525, Valid. Accuracy= 0.47920 Epoch 147, CIFAR-10 Batch 1: Train Loss= 0.335533, Train Accuracy= 0.88985, Valid. Loss= 1.869487, Valid. Accuracy= 0.49400 Epoch 148, CIFAR-10 Batch 1: Train Loss= 0.375827, Train Accuracy= 0.87129, Valid. Loss= 1.921412, Valid. Accuracy= 0.48480 Epoch 149, CIFAR-10 Batch 1: Train Loss= 0.361389, Train Accuracy= 0.88861, Valid. Loss= 1.861218, Valid. Accuracy= 0.48420 Epoch 150, CIFAR-10 Batch 1: Train Loss= 0.344290, Train Accuracy= 0.89109, Valid. Loss= 1.846111, Valid. Accuracy= 0.49500 Epoch 151, CIFAR-10 Batch 1: Train Loss= 0.375231, Train Accuracy= 0.86634, Valid. Loss= 1.908685, Valid. Accuracy= 0.47720 Epoch 152, CIFAR-10 Batch 1: Train Loss= 0.325795, Train Accuracy= 0.89851, Valid. Loss= 1.807580, Valid. Accuracy= 0.49260 Epoch 153, CIFAR-10 Batch 1: Train Loss= 0.413089, Train Accuracy= 0.84777, Valid. Loss= 1.919232, Valid. Accuracy= 0.47260 Epoch 154, CIFAR-10 Batch 1: Train Loss= 0.541847, Train Accuracy= 0.82054, Valid. Loss= 2.146267, Valid. Accuracy= 0.46920 Epoch 155, CIFAR-10 Batch 1: Train Loss= 0.512877, Train Accuracy= 0.83787, Valid. Loss= 2.094604, Valid. Accuracy= 0.45880 Epoch 156, CIFAR-10 Batch 1: Train Loss= 0.402229, Train Accuracy= 0.85767, Valid. Loss= 1.933562, Valid. Accuracy= 0.47800 Epoch 157, CIFAR-10 Batch 1: Train Loss= 0.595466, Train Accuracy= 0.79084, Valid. Loss= 2.161368, Valid. Accuracy= 0.44500 Epoch 158, CIFAR-10 Batch 1: Train Loss= 0.503000, Train Accuracy= 0.83911, Valid. Loss= 2.131265, Valid. Accuracy= 0.44920 Epoch 159, CIFAR-10 Batch 1: Train Loss= 0.427488, Train Accuracy= 0.85891, Valid. Loss= 2.012916, Valid. Accuracy= 0.45660 Epoch 160, CIFAR-10 Batch 1: Train Loss= 0.451427, Train Accuracy= 0.82797, Valid. Loss= 2.030387, Valid. Accuracy= 0.45820 Epoch 161, CIFAR-10 Batch 1: Train Loss= 0.335260, Train Accuracy= 0.89109, Valid. Loss= 1.813057, Valid. Accuracy= 0.48520 Epoch 162, CIFAR-10 Batch 1: Train Loss= 0.378389, Train Accuracy= 0.87005, Valid. Loss= 1.928397, Valid. Accuracy= 0.47960 Epoch 163, CIFAR-10 Batch 1: Train Loss= 0.382565, Train Accuracy= 0.87005, Valid. Loss= 1.904473, Valid. Accuracy= 0.47340 Epoch 164, CIFAR-10 Batch 1: Train Loss= 0.391017, Train Accuracy= 0.87871, Valid. Loss= 1.930951, Valid. Accuracy= 0.47420 Epoch 165, CIFAR-10 Batch 1: Train Loss= 0.394036, Train Accuracy= 0.85520, Valid. Loss= 1.927146, Valid. Accuracy= 0.47680 Epoch 166, CIFAR-10 Batch 1: Train Loss= 1.131368, Train Accuracy= 0.67822, Valid. Loss= 3.013887, Valid. Accuracy= 0.36420 Epoch 167, CIFAR-10 Batch 1: Train Loss= 0.961360, Train Accuracy= 0.68688, Valid. Loss= 2.765378, Valid. Accuracy= 0.37460 Epoch 168, CIFAR-10 Batch 1: Train Loss= 0.642131, Train Accuracy= 0.78094, Valid. Loss= 2.386117, Valid. Accuracy= 0.43360 Epoch 169, CIFAR-10 Batch 1: Train Loss= 0.712746, Train Accuracy= 0.77599, Valid. Loss= 2.460207, Valid. Accuracy= 0.43640 Epoch 170, CIFAR-10 Batch 1: Train Loss= 0.894331, Train Accuracy= 0.72772, Valid. Loss= 2.701317, Valid. Accuracy= 0.41160 Epoch 171, CIFAR-10 Batch 1: Train Loss= 0.671280, Train Accuracy= 0.80198, Valid. Loss= 2.286545, Valid. Accuracy= 0.46300 Epoch 172, CIFAR-10 Batch 1: Train Loss= 0.435242, Train Accuracy= 0.85520, Valid. Loss= 1.974023, Valid. Accuracy= 0.46360 Epoch 173, CIFAR-10 Batch 1: Train Loss= 0.359060, Train Accuracy= 0.88490, Valid. Loss= 1.938798, Valid. Accuracy= 0.47400 Epoch 174, CIFAR-10 Batch 1: Train Loss= 0.304187, Train Accuracy= 0.91460, Valid. Loss= 1.800300, Valid. Accuracy= 0.49420 Epoch 175, CIFAR-10 Batch 1: Train Loss= 0.429665, Train Accuracy= 0.84282, Valid. Loss= 1.993261, Valid. Accuracy= 0.47120 Epoch 176, CIFAR-10 Batch 1: Train Loss= 0.375058, Train Accuracy= 0.87995, Valid. Loss= 1.909619, Valid. Accuracy= 0.46940 Epoch 177, CIFAR-10 Batch 1: Train Loss= 0.440811, Train Accuracy= 0.83663, Valid. Loss= 1.998601, Valid. Accuracy= 0.47020 Epoch 178, CIFAR-10 Batch 1: Train Loss= 0.482054, Train Accuracy= 0.81436, Valid. Loss= 2.174649, Valid. Accuracy= 0.44280 Epoch 179, CIFAR-10 Batch 1: Train Loss= 0.544244, Train Accuracy= 0.80817, Valid. Loss= 2.167471, Valid. Accuracy= 0.45880 Epoch 180, CIFAR-10 Batch 1: Train Loss= 0.541104, Train Accuracy= 0.78960, Valid. Loss= 2.188534, Valid. Accuracy= 0.42740 Epoch 181, CIFAR-10 Batch 1: Train Loss= 0.526866, Train Accuracy= 0.81436, Valid. Loss= 2.136749, Valid. Accuracy= 0.44780 Epoch 182, CIFAR-10 Batch 1: Train Loss= 0.462452, Train Accuracy= 0.86015, Valid. Loss= 2.040114, Valid. Accuracy= 0.46900 Epoch 183, CIFAR-10 Batch 1: Train Loss= 0.537196, Train Accuracy= 0.84158, Valid. Loss= 2.228035, Valid. Accuracy= 0.45200 Epoch 184, CIFAR-10 Batch 1: Train Loss= 0.521125, Train Accuracy= 0.83045, Valid. Loss= 2.136310, Valid. Accuracy= 0.43540 Epoch 185, CIFAR-10 Batch 1: Train Loss= 0.414028, Train Accuracy= 0.86510, Valid. Loss= 1.999239, Valid. Accuracy= 0.46500 Epoch 186, CIFAR-10 Batch 1: Train Loss= 0.413520, Train Accuracy= 0.86881, Valid. Loss= 2.013430, Valid. Accuracy= 0.47340 Epoch 187, CIFAR-10 Batch 1: Train Loss= 0.466117, Train Accuracy= 0.84777, Valid. Loss= 2.065466, Valid. Accuracy= 0.45280 Epoch 188, CIFAR-10 Batch 1: Train Loss= 0.442676, Train Accuracy= 0.86139, Valid. Loss= 2.032867, Valid. Accuracy= 0.45000 Epoch 189, CIFAR-10 Batch 1: Train Loss= 0.734320, Train Accuracy= 0.80074, Valid. Loss= 2.409417, Valid. Accuracy= 0.44940 Epoch 190, CIFAR-10 Batch 1: Train Loss= 0.372836, Train Accuracy= 0.88738, Valid. Loss= 1.892126, Valid. Accuracy= 0.47380 Epoch 191, CIFAR-10 Batch 1: Train Loss= 0.371907, Train Accuracy= 0.88490, Valid. Loss= 1.874467, Valid. Accuracy= 0.46960 Epoch 192, CIFAR-10 Batch 1: Train Loss= 0.331544, Train Accuracy= 0.90347, Valid. Loss= 1.829594, Valid. Accuracy= 0.48980 Epoch 193, CIFAR-10 Batch 1: Train Loss= 0.348820, Train Accuracy= 0.89480, Valid. Loss= 1.871692, Valid. Accuracy= 0.47840 Epoch 194, CIFAR-10 Batch 1: Train Loss= 0.410302, Train Accuracy= 0.87005, Valid. Loss= 1.914358, Valid. Accuracy= 0.46420 Epoch 195, CIFAR-10 Batch 1: Train Loss= 0.312250, Train Accuracy= 0.91213, Valid. Loss= 1.797760, Valid. Accuracy= 0.49420 Epoch 196, CIFAR-10 Batch 1: Train Loss= 0.283302, Train Accuracy= 0.92574, Valid. Loss= 1.738268, Valid. Accuracy= 0.49560 Epoch 197, CIFAR-10 Batch 1: Train Loss= 0.341064, Train Accuracy= 0.88861, Valid. Loss= 1.772554, Valid. Accuracy= 0.48840 Epoch 198, CIFAR-10 Batch 1: Train Loss= 0.295004, Train Accuracy= 0.90965, Valid. Loss= 1.762670, Valid. Accuracy= 0.49200 Epoch 199, CIFAR-10 Batch 1: Train Loss= 0.289252, Train Accuracy= 0.92450, Valid. Loss= 1.721752, Valid. Accuracy= 0.48680 Epoch 200, CIFAR-10 Batch 1: Train Loss= 0.336040, Train Accuracy= 0.91460, Valid. Loss= 1.754296, Valid. Accuracy= 0.48200 Epoch 201, CIFAR-10 Batch 1: Train Loss= 0.285352, Train Accuracy= 0.92698, Valid. Loss= 1.722993, Valid. Accuracy= 0.49520 Epoch 202, CIFAR-10 Batch 1: Train Loss= 0.375836, Train Accuracy= 0.87376, Valid. Loss= 1.880639, Valid. Accuracy= 0.47840 Epoch 203, CIFAR-10 Batch 1: Train Loss= 0.350226, Train Accuracy= 0.89975, Valid. Loss= 1.801502, Valid. Accuracy= 0.46620 Epoch 204, CIFAR-10 Batch 1: Train Loss= 0.317129, Train Accuracy= 0.91089, Valid. Loss= 1.756229, Valid. Accuracy= 0.48500 Epoch 205, CIFAR-10 Batch 1: Train Loss= 0.317113, Train Accuracy= 0.90718, Valid. Loss= 1.752153, Valid. Accuracy= 0.48300 Epoch 206, CIFAR-10 Batch 1: Train Loss= 0.281203, Train Accuracy= 0.94059, Valid. Loss= 1.685272, Valid. Accuracy= 0.49560 Epoch 207, CIFAR-10 Batch 1: Train Loss= 0.298880, Train Accuracy= 0.92946, Valid. Loss= 1.752702, Valid. Accuracy= 0.49120 Epoch 208, CIFAR-10 Batch 1: Train Loss= 0.459517, Train Accuracy= 0.83911, Valid. Loss= 1.903756, Valid. Accuracy= 0.46780 Epoch 209, CIFAR-10 Batch 1: Train Loss= 0.446526, Train Accuracy= 0.84406, Valid. Loss= 1.952939, Valid. Accuracy= 0.44540 Epoch 210, CIFAR-10 Batch 1: Train Loss= 0.472090, Train Accuracy= 0.82797, Valid. Loss= 2.044413, Valid. Accuracy= 0.44860 Epoch 211, CIFAR-10 Batch 1: Train Loss= 0.616888, Train Accuracy= 0.76609, Valid. Loss= 2.268191, Valid. Accuracy= 0.43140 Epoch 212, CIFAR-10 Batch 1: Train Loss= 0.808639, Train Accuracy= 0.70792, Valid. Loss= 2.549743, Valid. Accuracy= 0.40460 Epoch 213, CIFAR-10 Batch 1: Train Loss= 0.712098, Train Accuracy= 0.74381, Valid. Loss= 2.428769, Valid. Accuracy= 0.39160 Epoch 214, CIFAR-10 Batch 1: Train Loss= 0.767099, Train Accuracy= 0.74257, Valid. Loss= 2.522056, Valid. Accuracy= 0.42300 Epoch 215, CIFAR-10 Batch 1: Train Loss= 0.442474, Train Accuracy= 0.84530, Valid. Loss= 1.974365, Valid. Accuracy= 0.46620 Epoch 216, CIFAR-10 Batch 1: Train Loss= 0.502358, Train Accuracy= 0.81559, Valid. Loss= 2.002882, Valid. Accuracy= 0.45340 Epoch 217, CIFAR-10 Batch 1: Train Loss= 0.570774, Train Accuracy= 0.80693, Valid. Loss= 2.240573, Valid. Accuracy= 0.42940 Epoch 218, CIFAR-10 Batch 1: Train Loss= 0.455497, Train Accuracy= 0.84158, Valid. Loss= 2.071634, Valid. Accuracy= 0.45780 Epoch 219, CIFAR-10 Batch 1: Train Loss= 0.337969, Train Accuracy= 0.89604, Valid. Loss= 1.837387, Valid. Accuracy= 0.48980 Epoch 220, CIFAR-10 Batch 1: Train Loss= 0.430692, Train Accuracy= 0.86015, Valid. Loss= 1.998780, Valid. Accuracy= 0.47200 Epoch 221, CIFAR-10 Batch 1: Train Loss= 0.519430, Train Accuracy= 0.82797, Valid. Loss= 2.181139, Valid. Accuracy= 0.45080 Epoch 222, CIFAR-10 Batch 1: Train Loss= 0.356109, Train Accuracy= 0.88119, Valid. Loss= 1.927116, Valid. Accuracy= 0.47740 Epoch 223, CIFAR-10 Batch 1: Train Loss= 0.412188, Train Accuracy= 0.87252, Valid. Loss= 1.997292, Valid. Accuracy= 0.44700 Epoch 224, CIFAR-10 Batch 1: Train Loss= 0.358983, Train Accuracy= 0.88614, Valid. Loss= 1.883414, Valid. Accuracy= 0.48020 Epoch 225, CIFAR-10 Batch 1: Train Loss= 0.328000, Train Accuracy= 0.90718, Valid. Loss= 1.868085, Valid. Accuracy= 0.47680 Epoch 226, CIFAR-10 Batch 1: Train Loss= 0.323327, Train Accuracy= 0.90842, Valid. Loss= 1.807498, Valid. Accuracy= 0.48360 Epoch 227, CIFAR-10 Batch 1: Train Loss= 0.287929, Train Accuracy= 0.93069, Valid. Loss= 1.762610, Valid. Accuracy= 0.50000 Epoch 228, CIFAR-10 Batch 1: Train Loss= 0.411654, Train Accuracy= 0.87005, Valid. Loss= 1.971955, Valid. Accuracy= 0.46240 Epoch 229, CIFAR-10 Batch 1: Train Loss= 0.519121, Train Accuracy= 0.80322, Valid. Loss= 2.185416, Valid. Accuracy= 0.41880 Epoch 230, CIFAR-10 Batch 1: Train Loss= 0.784023, Train Accuracy= 0.77847, Valid. Loss= 2.386414, Valid. Accuracy= 0.43140 Epoch 231, CIFAR-10 Batch 1: Train Loss= 0.283429, Train Accuracy= 0.92327, Valid. Loss= 1.761918, Valid. Accuracy= 0.48900 Epoch 232, CIFAR-10 Batch 1: Train Loss= 0.560687, Train Accuracy= 0.79084, Valid. Loss= 2.266820, Valid. Accuracy= 0.42760 Epoch 233, CIFAR-10 Batch 1: Train Loss= 0.547559, Train Accuracy= 0.85025, Valid. Loss= 2.236117, Valid. Accuracy= 0.43180 Epoch 234, CIFAR-10 Batch 1: Train Loss= 0.462348, Train Accuracy= 0.84282, Valid. Loss= 2.094487, Valid. Accuracy= 0.44600 Epoch 235, CIFAR-10 Batch 1: Train Loss= 0.386479, Train Accuracy= 0.89356, Valid. Loss= 1.922750, Valid. Accuracy= 0.44440 Epoch 236, CIFAR-10 Batch 1: Train Loss= 0.311371, Train Accuracy= 0.89975, Valid. Loss= 1.815530, Valid. Accuracy= 0.48100 Epoch 237, CIFAR-10 Batch 1: Train Loss= 0.287081, Train Accuracy= 0.93069, Valid. Loss= 1.718313, Valid. Accuracy= 0.49500 Epoch 238, CIFAR-10 Batch 1: Train Loss= 0.275929, Train Accuracy= 0.93069, Valid. Loss= 1.724453, Valid. Accuracy= 0.49720 Epoch 239, CIFAR-10 Batch 1: Train Loss= 0.260853, Train Accuracy= 0.94059, Valid. Loss= 1.673770, Valid. Accuracy= 0.50040 Epoch 240, CIFAR-10 Batch 1: Train Loss= 0.251211, Train Accuracy= 0.94307, Valid. Loss= 1.679227, Valid. Accuracy= 0.50600 Epoch 241, CIFAR-10 Batch 1: Train Loss= 0.260949, Train Accuracy= 0.93812, Valid. Loss= 1.668094, Valid. Accuracy= 0.50120 Epoch 242, CIFAR-10 Batch 1: Train Loss= 0.266916, Train Accuracy= 0.93317, Valid. Loss= 1.673660, Valid. Accuracy= 0.49320 Epoch 243, CIFAR-10 Batch 1: Train Loss= 0.252742, Train Accuracy= 0.94183, Valid. Loss= 1.656215, Valid. Accuracy= 0.50920 Epoch 244, CIFAR-10 Batch 1: Train Loss= 0.266597, Train Accuracy= 0.93936, Valid. Loss= 1.666669, Valid. Accuracy= 0.49600 Epoch 245, CIFAR-10 Batch 1: Train Loss= 0.272081, Train Accuracy= 0.94431, Valid. Loss= 1.657958, Valid. Accuracy= 0.50120 Epoch 246, CIFAR-10 Batch 1: Train Loss= 0.299481, Train Accuracy= 0.90842, Valid. Loss= 1.737131, Valid. Accuracy= 0.49560 Epoch 247, CIFAR-10 Batch 1: Train Loss= 0.332391, Train Accuracy= 0.91337, Valid. Loss= 1.748178, Valid. Accuracy= 0.48020 Epoch 248, CIFAR-10 Batch 1: Train Loss= 0.249682, Train Accuracy= 0.94678, Valid. Loss= 1.642044, Valid. Accuracy= 0.50260 Epoch 249, CIFAR-10 Batch 1: Train Loss= 0.322717, Train Accuracy= 0.90594, Valid. Loss= 1.770802, Valid. Accuracy= 0.49360 Epoch 250, CIFAR-10 Batch 1: Train Loss= 0.357163, Train Accuracy= 0.89356, Valid. Loss= 1.779331, Valid. Accuracy= 0.48000
Now that you got a good accuracy with a single CIFAR-10 batch, try it with all five batches.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
save_model_path = './image_classification'
print('Training...')
with tf.Session() as sess:
# Initializing the variables
sess.run(tf.global_variables_initializer())
# Training cycle
for epoch in range(epochs):
# Loop over all batches
n_batches = 5
for batch_i in range(1, n_batches + 1):
for batch_features, batch_labels in helper.load_preprocess_training_batch(batch_i, batch_size):
train_neural_network(sess, optimizer, keep_probability, batch_features, batch_labels)
print('Epoch {:>2}, CIFAR-10 Batch {}: '.format(epoch + 1, batch_i), end='')
print_stats(sess, batch_features, batch_labels, cost, accuracy)
# Save Model
saver = tf.train.Saver()
save_path = saver.save(sess, save_model_path)


| CONTENTS | PREV | NEXT |
L. Gong, "Java Security: Present and Near Future". IEEE Micro, 17(3):14--19, May/June 1997.
L. Gong, T.M.A. Lomas, R.M. Needham, and J.H. Saltzer, "Protecting Poorly Chosen Secrets from Guessing Attacks". IEEE Journal on Selected Areas in Communications, 11(5):648--656, June, 1993.
J. Gosling, Bill Joy, and Guy Steele. The Java Language Specification. Addison-Wesley, Menlo Park, California, August 1996.
A.K. Jones. Protection in Programmed Systems. Ph.D. dissertation, Carnegie-Mellon University, Pittsburgh, PA 15213, June 1973.
B.W. Lampson. Protection. In Proceedings of the 5th Princeton Symposium on Information Sciences and Systems, Princeton University, March 1971. Reprinted in ACM Operating Systems Review, 8(1):18--24, January, 1974.
T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley, Menlo Park, California, 1997.
P.G. Neumann. Computer-Related Risks. Addison-Wesley, Menlo Park, California, 1995.
U.S. General Accounting Office. Information Security: Computer Attacks at Department of Defense Pose Increasing Risks. Technical Report GAO/AIMD-96-84, Washington, D.C. 20548, May 1996.
J.H. Saltzer. Protection and the Control of Information Sharing in Multics. Communications of the ACM, 17(7):388--402, July 1974.
J.H. Saltzer and M.D. Schroeder. The Protection of Information in Computer Systems}. Proceedings of the IEEE, 63(9):1278--1308, September 1975.
M.D. Schroeder. Cooperation of Mutually Suspicious Subsystems in a Computer Utility. Ph.D. dissertation, Massachusetts Institute of Technology, Cambridge, MA 02139, September 1972.
W.A. Wulf, R. Levin, and S.P. Harbison. HYDRA/C.mmp -- An Experimental Computer System. McGraw-Hill, 1981.


LeanMeanTech is more than our name: it is our guiding principal. We develop higher quality software solutions faster and more cost-effectively than other providers.


Numbers 22:17
For I will promote thee unto very great honor, and I will do whatsoever thou sayest unto me: come therefore, I pray thee, curse me this people.


Let's see a list:
This is a paragraph outside a div container
Paragragh inside the div container
Another paragraph inside the div container
Inside div container INSIDE SPAN!
I am inside the firstDiv class
I am inside secondDiv class
ids must be unique! I am in singledout id


You can now easily compare multiple timeseries using a heatmap view.
Both line plots and heatmap charts can be sorted by nr, labels or even periods from the analysis results.
We have added the eJTK and classic JTK methods (A.L. Hutchison et al. 2015) for rhythmicity tests
You can now import the timeseries data from text files
Subscribe to our channel to access training videos. Watch our first tutorial about data import.
Data views are now paginated so the large datasets will can be displayed without crashing your browser.
You can now make your data public, choose the padlock icon and follow the instruction
You can import TopCount data directly into BioDare
Your beautiful period and phase plots can be downloaded as .svg file save_alt and edited or converted in a graphical program like the free Inkscape
Notifications contain causes of problems with data import
You can use forgotten password feature if you lock yourself out of BioDare
you can click on the legend entry to remove its results from the plots
items can be ordered by replicates label or median period
all individual data points can be enabled by clicking Ind.
button
BioDare2 is a repository for circadian, biological data, providing a platform for data sharing and period analysis. The main features of BioDare2 are: fast period analysis, timeseries processing, attractive visualizations, simple data description and modern UI, all of it to assure the best user experience.
Watch our introductory video and subscribe to our channel for training materials.
You can contact us at: biodare (@) ed.ac.uk
You need a modern, up to date browser to use BioDare2 (we are testing it with Chrome).
BioDare2 is currently at beta version. Check the bottom of the page how this early stage may affect you.
Circadian research is all about timeseries. BioDare can visualize your data and allows you to perform various timeseries processing:
Available methods:
Period analysis is the strongest point of BioDare. BioDare gives you access to the:
BioDare2 is still under development.
Please read below to find out how this may affect you.
We are using exactly the same implementation of period analysis methods as in original BioDare.
These methods will not change so any results you obtain using this version will be the same as in the future ones.
Your data is safe, changes to BioDare will not affect the deposited data.
At the moment data grouping and averaging is not available but we are working on it.
Unfortunately bugs and glitches are to be expected.
The error messages are vague and probably not very informative. Please have patience; refresh page if the system appears stuck; email bug reports to biodare (@) ed.ac.uk.
Lab groups, as in BioDare, will return with a further release.
Please cite BioDare2 with its website: biodare2.ed.ac.uk and the paper:
Zielinski T, Moore AM, Troup E, Halliday KJ, Millar AJ (2014)
Strengths and Limitations of Period Estimation Methods for Circadian Data
(2014) PLoS ONE 9(5): e96462. doi:10.1371/journal.pone.0096462
read
BioDare2 development was funded by the EU FP7 Collaborative Project TiMet (award 245143) and the UK Centre for Mammalian Synthetic Biology (award BB/M018040/1).


Challenge Award Winners
Anand Pal
It was quite thrilling to be a Winner of Nokia Value Awards. To stick by the Nokia values has primarily allowed me to be the best at my job . Also it underlines how to improve the customer experience with Nokia solutions.
Rajneesh
I feel extremely honoured and appreciative for receiving this Value award which boosts my confidence and inspiration to realize my dreams.
Lakshminarayana
Values Awards Initiative is unique and outstanding one. Through this initiative the individuals are well recognized & become an inspiration to many others to ingrain the practices. It helps every one Walk the Talk on all the Nokia Values
K. Mayilsamy
I am very proud to receive Nokia Value Award for teams consistent success over the years. This award created lot of motivation I am happy to note such structured recognition.
Dinesh Desai
I am honoured to receive this award which required me to transform the ideas into reality & required humongous efforts. I was wonderfully supported by my colleagues & managers.


Wharton Brewery is your average garage-style homebrew. Basically, I brew whatever I want. Sure, I'm open for suggestions, but before you submit anything you should ask yourself: "Why am I making suggestions to a guy who doesn't even sell his beer?" Unless you have a million bucks, then I'll consider selling.
Styles of brews can range anywhere from IPAs to Blondes to Stouts--like I said, I brew whatever I want. Sometimes I'll give it a boring name, sometimes I'll be downright controversial (whenever I screw up a brew I'll just call it "Thanks, Obama"). But whatever style you're looking for, I'm sure at some point I'll have it.


Hi, my name is Phil. I am an experienced Tech Industry Engineer who demonstrates expert level troubleshooting and complex mobile and web application issue resolution. I have been married for about a year and half and really enjoy traveling on my free time. I am also a big sports fan and spend about 2 days a week playing Basketball and Soccer. I will be moving into a SW Dev Role at my current company and am really excited to learn and improve on my software development skills!


Login and Registration
Show Password
Sign Up
Already registered?
Login
login
Not registered then
Register Here!


About Me
I started my undergraduate career in programming working
on UX interfaces for websites with HTML, CSS and JavaScript.
I was put in charge of programming the
functionality behind calculating and recording customer orders for online sales of snow cones and beverage transactions.
I became interested in studying object-oriented programming concepts and
I collaborated with my peers on my Java development team
to reserve and store booking accomodations and daily travel arrangements for cruise line companies.
Using the knowledge I gained from practicing Java concepts at the University of North Georgia, I dove head first into exploring other languages like Python, C# and VB.NET.
It was at this point I began designing my first video game project called, Rush Hour Turtle.
The game was a collaborative effort
and primarily consists of turtles crossing highways while avoiding deadly obstacles such as cars and alligators. It was deployed
using an SQLite3 backend database to collect and store player scores.
Rush Hour Turtle was inspired by the classic 1981 Frogger game and was awarded
first place in the Computer Science departments' 2019 Computer Game Development competition.


Code examples by chapter
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Appendix A
Server setup tests
Test JSP installation
Test PHP installation


[Erowid Note: see Tramadol Dosage]
I have been taking trammies every day for a few months now. 6 pills at a time, a few times a day. They are so easily accessible over the net, this is my downfall. I still get a decent buzz, but it wears off very quickly now (1-2 hours). I have ran out a couple of times and quit for a week once, and the withdrawal is to be feared. Very sore muscles, very lazy and shaky, but the worst is not being able to get good sleep. The symptoms get worse when I try to sleep, and I wake up very early and tend to stay up when all I want to do is rest. Every bottle I get I swear will be my last, but it never is.
One time I had taken about 1200 mg throughout one day, and the next day could still feel lingering effects. I was at work as always, I took another 6 pills (300mg) and didn’t feel much. About 2 hours later, I took another 6. Whoops. After about an hour as I was talking to customers, I felt outside of my body, very spacey. The next conscious thing I remember was laying on the floor in the back room with my boss staring at me asking if I was ok. He said he just watched me have a seizure. There was water all over the floor, I guess I had dropped my cup and fell into a wall when I had blacked out. Needless to say I went home and was scared to death to fall asleep, not knowing if I would wake up... ever. Anyway, I slept it off and felt alright the next day.
So far I have kept it a secret to everybody, except the person I had discovered them with, who now has his own share of addictions. I must quit soon because I'm moving out with my girlfriend and that wouldn’t fly for 100 different reasons. I must wean myself off, I hope soon.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.